输出正确,但全是WA;求助.

P1320 压缩技术(续集版)

pioupiou493 @ 2021-11-07 21:26:17


    int main()
{
    char a[201][201];
    int b[400]={0};
    int i,r,t=0,sum=0;
    int tmp;
    char y;

    for(i=0;i<200;i++)
    {
        for(r=0;r<200;r++)
        {
            a[i][r]=0;
        }
    }

    r=0;

    while((a[0][r]=getchar())!='\n')
    {
        r++;
    }
    a[0][r]='\0';
    tmp=r;

    for(i=1;i<tmp;i++)
    {
        scanf("%s",&a[i]);
    }

    y='0';

    for(i=0;i<tmp;i++)
    {
        for(r=0;r<tmp;r++)
        {
            if(a[i][r]==y)
            {
                sum++;
            }
            else
            {
                b[t]=sum;
                y=a[i][r];
                sum=1;
                t++;
            }
        }
    }

    b[t]=sum;

    printf("%d ",tmp);

    i=0;
    while(1)
    {
        printf("%d ",b[i]);

        i++;

        if(b[i]==0)
        {
            break;
        }else;
    }

    return 0;

}```

by IridescentAurora @ 2021-12-05 20:45:02

我不是大佬,我是个萌新,我遇到了和你一样的问题,输出正确,但全WA。 我发现我们的代码相同的地方就是一个一个字符输进来,用的是getchar(),我看过了的都是直接字符串输入,scanf()这样。 我调整了输入方式这一点,原来的算法没变,就过了,你要是明白到底是因为什么,还望回复我,因为我真的一知半解,只是凑出了accepted。


|