#include<bits/stdc++.h>
using namespace std;
int ans[10001], n, j = 1;
char a, b = '0';
int main(){
while(cin >> a){
n ++;
if(a == b) ans[j] ++;
else{
b = a;
ans[++ j] ++;
}
}
printf("%d ", sqrt(n));
for(int i = 1; i <= j; i ++) printf("%d ", ans[i]);
return 0;
}
这样sqrt(n)是错的
#include<bits/stdc++.h>
using namespace std;
int ans[10001], n, j = 1;
char a, b = '0';
int main(){
while(cin >> a){
n ++;
if(a == b) ans[j] ++;
else{
b = a;
ans[++ j] ++;
}
}
cout << sqrt(n) << " ";
for(int i = 1; i <= j; i ++) printf("%d ", ans[i]);
return 0;
}
改成cout就对了