BZHZS @ 2020-12-25 18:15:29
#include<bits/stdc++.h>
#include<cstdio>
#include<cstdlib>
#include<iostream>
using namespace std;
char a[201];
int n;
int cao[1002],can=1;
char flag='0';
int main()
{
gets(a);
n=strlen(a);
for(int i=0; i<n; i++)
{
if(a[i]==flag)
cao[can]++;
else
{
can++;
cao[can]=1;
if(flag=='1')
flag='0';
else
flag='1';
}
}
for(int i=2; i<=n; i++)
{
gets(a);
for(int i=0; i<n; i++)
{
if(a[i]==flag)
cao[can]++;
else
{
can++;
cao[can]=1;
if(flag=='1')
flag='0';
else
flag='1';
}
}
}
cout<<n<<' ';
for(int i=1;i<=can;i++)
cout<<cao[i]<<' ';
return 0;
}
by wsyhb @ 2020-12-25 18:29:33
@BZHZS 不要用在不同环境下会有差异的字符串函数。将 gets(a)
改为 scanf("%s",a)
即可 AC。
我已经看到过十几个帖因为 gets()
而无法 AC 了
by BZHZS @ 2020-12-25 18:32:47
@wsyhb 谢谢大佬
by 1122334455l @ 2021-01-27 15:41:37
@wsyhb 谢谢大佬!