2023111785_ypj @ 2023-11-06 15:08:43
#include <stdio.h>
#include <math.h>
int main(){
char a,b[40000];int c=0,x=1;
while (scanf("%c",&a)!=EOF)
{
if(a=='\n')continue;
else{
b[c]=a;
c++;
}
}
printf("%d ",(int)sqrt(c));
if(b[0]!=0)printf("0 ");
for (int i = 0; i <=c; i++)
{
if (b[i]==b[i+1])
{
x++;
}
else
{
printf("%d ",x);
x=1;
}
}
}
洛谷自动把输出结果的第七位读成第九位
by Wanderer_01 @ 2023-11-06 15:48:02
#include <bits/stdc++.h>
using namespace std;
int main() {
char a,b[40005];
int c=0,x=1;
while(scanf("%c",&a)!=-1)
if(a<'0'||a>'1')continue;
else b[c++]=a;
printf("%d ",(int)sqrt(c));
if(b[0]!='0') printf("0 ");
for (int i=0; i <=c; i++)
if (b[i]==b[i+1]) x++;
else printf("%d ",x),x=1;
}
@2023111785_ypj 帮你调好了。
by Wanderer_01 @ 2023-11-06 15:51:26
就是一些细节写错了。
if(b[0]!=0)