做法麻烦且离谱,本地数据就走不动了,求大佬解答

P1320 压缩技术(续集版)

Rosemaryzzh @ 2022-02-19 19:57:24

#include<stdio.h>
int a[40010],n[205];
int main()
{
    char c;
    int i=0,j=1,k=0,sum=0;
    while( c=getchar() != EOF )
    {
        if(c != '\n')
        {
            a[i]=c-'0';
            if(i>0 && a[i-1]==a[i])
            {
                j++;
            }
            else if(i>0 && a[i-1]!=a[i]){
                n[k]=j;
                k++;
                j=0;
            }
            i++;
        }else continue; 
    }
    int y=2;
    while(y*y<i)
    {
        y++;
    }
    printf("%d ",y);
    for(int l=0;l<k;l++)
    {
        printf("%d ",n[l]);

    }

    return 0;
}

by Cosing @ 2022-03-11 13:45:21

我刚刚也觉得很奇怪,你要不要试试,这里是换行似乎是\r\n 我在云ide里面看了看

int main() {
  int a;
  while ((a=(int)getchar())!=EOF) {
    cout << a <<' ';
  }
}

输出是

48 48 48 49 48 48 48 13 10 48 48 48 49 48 48 48 13 10 48 48 48 49 49 49 49 13 10 48 48 48 49 48 48 48 13 10 48 48 48 49 48 48 48 13 10 48 48 48 49 48 48 48 13 10 49 49 49 49 49 49 49 13 10 

|