题解:P1320 压缩技术(续集版)
本题可以通过字符串数组进行记录。先读入所有的字符串,再对数组中的所有字符进行判断。注意如果第一个字符是 1 时要先输出
AC code
#include<bits/stdc++.h>
using namespace std;
string a[666];//使用字符串数组存储
int main(){
int i=0;
while(cin>>a[i]){//重复输入直到结束
i++;//变量自增
}
int n=a[0].size();//a[0].size()即为题目所求的n
cout<<n<<" ";//输出n
char now=a[0][0];//当前判断值为a[0][0]
if(now=='1') cout<<0<<" ";//由于先求0的个数,当a[0][0]为1时0的个数为0,输出0
int c=0;//计数变量
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(a[i][j]!=now){//当a[i][j]不等于上一个值时
cout<<c<<" ";//输出
c=1;//计数变量改为1
}else{
c++;//计数变量自增
}
now=a[i][j];//改变当前值
}
}
cout<<c;//最后输出c的值
return 0;//完结撒花
}