kjh21373456 @ 2022-02-13 20:35:49
#include<stdio.h>
#include<string.h>
int main()
{
char a[205][205];
int f=0,p=0,q=0;
fgets(a[0],205,stdin);//最后是'\n'会多算一位
int n=strlen(a[0]);
n--;
for(int i=1;i<n;i++)
{
fgets(a[i],205,stdin);
}
printf("%d ",n);
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(j==n-1 && i==n-1 && f==0)//最后一个数输出
{ if(a[n-1][n-1]=='0')
printf("%d",p+1);
else
{
printf("%d 1",p);
}
return 0;
}
if(j==n-1 && i==n-1 && f==1)//最后一个数输出
{ if(a[n-1][n-1]=='1')
printf("%d",q+1);
else
{
printf("%d 1",q);
}
return 0;
}
if(f==0)
{
if(a[i][j]=='0') p++;
else
{
printf("%d ",p);
f=1;
q++;
p=0;
}
}
else
{
if(a[i][j]=='1') q++;
else
{
printf("%d ",q);
f=0;
p++;
q=0;
}
}
}
}
}```
by kjh21373456 @ 2022-02-13 20:48:17
#include<stdio.h>
#include<string.h>
int main()
{
char a[205][205];
int f=0,p=0,q=0;
scanf("%s",&a[0]);//#改了这里#
int n=strlen(a[0]);
for(int i=1;i<n;i++)
{
scanf("%s",&a[i]);
}
printf("%d ",n);
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(j==n-1 && i==n-1 && f==0)//最后一个数输出
{ if(a[n-1][n-1]=='0')
printf("%d",p+1);
else
{
printf("%d 1",p);
}
return 0;
}
if(j==n-1 && i==n-1 && f==1)//最后一个数输出
{ if(a[n-1][n-1]=='1')
printf("%d",q+1);
else
{
printf("%d 1",q);
}
return 0;
}
if(f==0)
{
if(a[i][j]=='0') p++;
else
{
printf("%d ",p);
f=1;
q++;
p=0;
}
}
else
{
if(a[i][j]=='1') q++;
else
{
printf("%d ",q);
f=0;
p++;
q=0;
}
}
}
}
} ```
##问题已解决,这样就能过了QWQ
by kjh21373456 @ 2022-02-13 20:51:29
~前车之覆,大家引以为戒~
by spider_418 @ 2022-02-20 11:54:31
我是用的gets读入字符串,结果找到一组输入数据,发现最后一行是一个空行,也被gets读进去了,所以N就比正确答案多一LOL
by zhangmingquan123 @ 2022-02-22 21:00:14
麻了 C语言yongdegets n=strlen(a); 用输入示例的数据得到的出结果和示例一样 但是提交零分
改成n=strlen(a)-1; 提交满分 单是用示例数据测试 天我写的什么东西