题解:P1320 压缩技术(续集版)
思路
先读入一行字符串
while(cin>>a){
b+=a;
}
这一步的目的是将多行字符串拼接为一行。
接下来特判:如果
if(b[0]!='0') cout<<"0 ";
然后遍历字符串从
循环结束后不要忘记在输出
代码
#include<iostream>
#include<string>
using namespace std;
int n,x,num=0,t=1,ans=0,cnt=1;
string a,b;
int main(){
cin>>b;
n=b.size();
cout<<n<<" ";
while(cin>>a){
b+=a;
}
if(b[0]!='0') cout<<"0 ";
for(int i=1;i<n*n;i++){
if(b[i]==b[i-1]){
t++;
}
else{
cout<<t<<" ";
t=1;
}
}
cout<<t;
return 0;
}