CZ_7 @ 2021-01-01 21:30:32
#include<bits/stdc++.h>
using namespace std;
int n,a[10000],cnt,kk,ans;
char pp;
bool b;
int main(){
freopen("text.in","r",stdin);
freopen("text.out","w",stdout);
while(cin>>pp){
cnt++;
a[cnt]=pp-'0';
}
kk=0;
cout<<sqrt(cnt)<<' ';
for(int i=1;i<=cnt;i++){
//cout<<a[i]<<' ';
if(a[i]!=a[i-1]){
cout<<kk<<' ';
kk=0;
}
kk++;
}
cout<<kk;
return 0;
}
by 10circle @ 2021-01-01 21:49:51
数组开小了
如果开始是1,那么不计数,从第一堆0开始。
不建议用sqrt,可能有精度问题