1 条题解

  • 0
    @ 2025-8-24 21:23:43

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 2011hym
    暴力占据大脑,打表代替思考 | 寒鸦栖枯地,拿分靠暴力 | 空山不见人,爆0就红温

    搬运于2025-08-24 21:23:42,当前版本为作者最后更新于2025-06-04 22:30:35,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    更好的阅读体验。

    题目分析

    我们需要根据给定的压缩码还原出原始的 n×nn\times n01 点阵图案。压缩码的第一个数字是 nn,后续数字交替表示连续的 0 和 1 的个数。

    解决思路

    根据数字序列交替填充 0 和 1,第一个数字表示连续的 0 的个数,第二个数字表示连续的 1 的个数,依此类推。

    此思路需要双重循环,时间复杂度为 O(n2)O(n^2),可以接受。

    代码实现

    #include <bits/stdc++.h>
    using namespace std;
    int n,sum,cnt,ct,ans;
    int main(){
        cin>>n;
        sum=n*n;
        while(ans<sum){
            cin>>ct;
            for(int i=0;i<ct;i++){
                cout<<cnt;
                ans++;
                if(ans%n==0){
                    cout<<endl;
                }
            }
            cnt=1-cnt;// 切换 0 和 1。
        }
        return 0;
    }
    
    • 1

    信息

    ID
    317
    时间
    1000ms
    内存
    125MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者