洛谷 1319_压缩技术_模拟

发布于 2019-05-11  890 次阅读


题目描述

设某汉字由N X N的0和1的点阵图案组成,如下图。我们依照以下规则生成压缩码。连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从上到下,由左到右。第一个数表示连续有几个0,第二个数表示接下来连续有几个1,第三个数再接下来连续有几个0,第四个数接着连续几个1,以此类推。。。


思路

一边读入一边输出,记录总数,每次减一,输出时判断进行换行就可以了
O(n^2)

#include <stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int t=n*n;
    int l=1;
    while (t>0)
    {
        int x;
        if (l==1) l=0;
        else l=1;
        scanf("%d",&x);
        for (int i=1;i<=x;i++)
        {
            printf("%d",l);
            t--;
            if (t%n==0) printf("\n");
        }
    }
}