题解:P1320 压缩技术(续集版)
Ashankamiko · · 题解
题目简述
题意
给定一个若干大小的矩阵,按照以下要求输出。
- 每一个数字之间空一格。
- 第一个数字为矩阵大小
N 。 - 接下来若干个数字,描述这个矩阵有多少个
0 和1 交替,并输出连续的0 或1 的长度。思路
先输入一个字符串,然后定义
n 为该字符串的长度,输出n 。
接下来输入
定义
接下来遍历
AC 代码
#include <bits/stdc++.h>
using namespace std;
#define in cin
#define out cout
int main() {
string x, s = "";
in >> x;
s += x;
for (int i = 1; i < x.size(); i++) { //输入字符串
string str;
in >> str;
s += str; //并把str加到s里
}
out << int(x.size()) << ' '; //输出N
int cnt = 1;
if (s[0] == '1')
out << "0 ";
for (int i = 1; i < s.size(); i++) //遍历s
if (s[i - 1] != s[i]) { //如果不等
out << cnt << ' '; //输出cnt
cnt = 1; //令cnt=1
} else
cnt++; //否则+1
out << cnt; //输出最后的数量
return 0;
} =