Omega_W @ 2022-02-06 20:32:06
本地测试能直接过,但OJ要加上注释那行,为啥呢?
#include <stdio.h>
int main(){
int n=0,a[40001];
char c='0';
while(1){
scanf("%c",&c);
if(c=='\n'){
break;
}
else{
a[n]=(int)c-48;
n++;
}
}
// n--;
/* ↑就是这行 */
for(int i=0;i<n-1;i++){
for(int j=0;j<n;j++){
scanf("%c",&c);
a[n*(i+1)+j]=(int)c-48;
}
if(i<n-2){
scanf("\n");
}
}
printf("%d ",n);
int x=0,num=0;
for(int i=0;i<n*n;i++){
int numx=a[i];
if(numx==num){
x++;
}
else{
printf("%d ",x);
num=numx;
x=1;
}
}
printf("%d",x);
return 0;
}
by ajahjahah @ 2022-02-06 20:36:15
if(c=='\n'){
break;
}
? 这不可以用while(scanf("%c",&c))代替吗
貌似scanf不能输入换行?
by ajahjahah @ 2022-02-06 20:37:02
本地测的时候加上n--就只能输入5行