1 条题解

  • 0
    @ 2025-8-24 21:16:07

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar ScaredQiu
    Life Still Left In Me

    搬运于2025-08-24 21:16:06,当前版本为作者最后更新于2024-03-07 10:31:40,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    Source & Knowledge

    2024 年 3 月语言月赛,由洛谷网校入门计划/基础计划提供。

    题目大意

    定义 2014 串为一个由若干个 2014 首尾相接连成的字符串,给定一个仅包含从 0099 的数字的字符串 SS,每次操作可以交换 SS 中任意两个字符。判断是否能通过执行任意多次操作将 SS 变为 2014 串。

    题目分析

    考察数组和循环结构的应用。

    使用数组 aa 统计字符串 SS 中每个数字出现的次数。如果 22 00 11 44 四个数字的出现次数相等且没有出现过其他数字则说明可以将 SS 变为 2014 串。

    cin>>n>>s;
    for(int i=0;i<n;i++) a[s[i]-'0']++;
    bool fail=0;
    for(int i=0;i<10;i++) if(i!=2&&i!=0&&i!=1&&i!=4&&a[i]!=0) fail=1;
    if(a[2]!=a[0]||a[0]!=a[1]||a[1]!=a[4]) fail=1;
    if(fail) cout<<"No"<<'\n';
    else cout<<"Yes"<<'\n';
    

    视频讲解

    完整代码见视频题解

    • 1

    信息

    ID
    9827
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者