Cartier @ 2023-03-13 17:24:17
#include<bits/stdc++.h>
#include<cmath>
using namespace std;
int main()
{
char c='0';
int len=0;
char lc='0';//每一次比较连续的字母
int cnt=0;//存放连续的脚标
int ans[40005]={0};
while(cin>>c){
len++;
if(c==lc){
ans[cnt]++;
}
else{
cnt++;
ans[cnt]=1;
lc=c;//lc因为他与当前的c不同所以数组往后以为,并且用来比较的lc换成当前的c
}
}
cout<<sqrt(len)<<" ";
for(int i=0;i<=cnt;i++){
cout<<ans[i]<<" ";
}
return 0;
}
by Wangzj512 @ 2023-03-13 17:29:28
@Cartier luogu
的标准读入最后会有一个EOF
(这是一个字符,文件终止符),此时cin
会返回false
退出循环。手测的时候需要Ctrl+Z
,然后回车(如果我没有记错的话)。
by Cartier @ 2023-03-13 17:36:34
谢谢您真的是可以的您的方法
by EchoStar @ 2023-05-28 15:59:18
@Wang512 是Ctrl+G+enter