P1320 压缩技术-续集版题解

题目传送门

#include <iostream>

using namespace std;
const int N = 210;
string a[N];
int sum;

int main() {
    cin >> a[0];
    int n = a[0].size();//一维的长度
    for (int i = 1; i < n; i++) cin >> a[i];
    cout << n << " ";

    char current = '0';
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            //一样就累积
            if (a[i][j] == current) sum++;
            else {
                //在发现与原来的不一样时,输出前面的累积个数
                cout << sum << " ";
                current = a[i][j];
                sum = 1;
            }
    //输出大吉
    cout << sum << endl;
    return 0;
}
原文地址:https://www.cnblogs.com/littlehb/p/15040149.html