kaikaiyu @ 2023-10-25 23:27:10
#include <stdio.h>
int main(void)
{
char a[200][200],ch;
int t=-1;
while((a[0][++t]=getchar())!='\n');
for(int k=1;k<t;k++)
{
for(int j=0;j<t;j++)
{scanf("%c",&a[k][j]);
if(j==t-1) scanf("%c",&ch); }
}
printf("%d",t);
int count=0;
int flag=0;
for(int i=0;i<t;i++)
{
for(int j=0;j<t;j++)
{
if(a[i][j]!=flag+48)
{
printf(" %d",count);
count=0;
flag=!flag;
}
count++;
if(i==t-1 && j==t-1)printf(" %d",count);
}
}
return 0;
}
by NumberTrart @ 2023-11-01 19:35:26
我也是有这个问题
#include <cstdio>
#include <iostream>
using namespace std;
int n,cnt,z;
int num=0;
char c;
int a[40005],top;
int main(){
cnt=0;
while(true)
{
scanf("%c",&c);
if(c=='\n') break;
n++;
if(c-'0'!=num)
{
a[++top]=cnt;
cnt=1;
num=1-num;
}
else cnt++;
}
for(int i=2;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
scanf("%c",&c);
if(c-'0'!=num)
{
a[++top]=cnt;
cnt=1;
num=1-num;
}
else cnt++;
}
scanf("%*c");
}
a[++top]=cnt;
cout<<n<<' ';
for(int i=1;i<=top;i++)
cout<<a[i]<<' ';
return 0;
}
洛谷爆0是为什么