P1319 压缩技术题解

题目传送门

#include <bits/stdc++.h>

using namespace std;
int n;  //汉字点阵的长和宽
int cnt;//当前输出到第几个
int zo; //输出1还是0呢?默认是0,ZeroOne的简写~
int x;  //每次输入的值是几个

int main() {
    cin >> n;//几行几列,本题示例是7

    //此题没明确的输入终止条件,只能是走一步看一步
    while (true) {
        cin >> x;
        for (int i = 1; i <= x; i++) {
            cout << zo;
            //数量,用于判断是否换行,另一个重要的作用是用来判断程序是否该结束了
            cnt++;
            //换行
            if (cnt % n == 0) cout << endl;
        }
        //调整为相反数,为下一次做准备
        zo = !zo;
        //不能一直while(true)吧,需要有一个终止条件,这个条件就是数量够了
        if (cnt == n * n) break;
    }
    return 0;
}

原文地址:https://www.cnblogs.com/littlehb/p/15040127.html