zuoyang001 @ 2023-11-04 20:30:52
#include<bits/stdc++.h>
using namespace std;
string s;
long long num[100000],len,l=0,k1,k2,ans=0;
int main(){
while(getline(cin,s)){
if(s.size()==0)break;
len=s.size();
for(int i=0;i<len;i++){
num[++l]=s[i]-'0';
}
}
cout<<sqrt(l)<<" ";
k1=num[1];
ans=1;
for(int i=2;i<=l;i++){
k2=num[i];
if(k1==k2){
ans++;
}
else{
k1=k2;
cout<<ans<<" ";
ans=1;
}
}
cout<<ans;
return 0;
}
by danlao @ 2023-11-04 20:50:27
#include <bits/stdc++.h>
using namespace std;
char a,b='0';
int n,ans[1000001],z=1;
int main(){
while(cin>>a){
n++;
if(a==b)
ans[z]++;
else
ans[++z]++,
b=a;
}
cout<<sqrt(n);
for(int i=1 ; i<=z ; i++)
cout<<" "<<ans[i];
}
这是我的代码,你可以对照一下