入门P1319 压缩技术,C语言,最高80分,求解,感谢大佬

P1319 压缩技术

printfscanf_ @ 2022-03-22 14:36:28

#include <stdio.h>

int main()
{
    int n[210];
    int nn=0;
    int num;
    int sum=0;
    int i=0,j=0,k=0,t=0;

    num=0;
    scanf("%d",&nn);

    while((nn*nn)!=sum)
    {
        scanf("%d",&n[i]);
        sum=sum+n[i];   
        i++;
    }
    t=i;
    for(j=0;j<=t;j++)
    {
        for(i=0;i<n[j];i++)
        {
            if(k==nn) 
            {
                printf("\n");  
                k=0;  
            }
            printf("%d",num);
            k++;
        }

        if(num==1)
        {
            num=0;
        }
        else
        {
            num=1;
        }
    }
    return 0;
}
  1. 此代码80分4测试点TLE,9测试点WA

  2. 但我将 int n[205]改为 int n[201]则变为60分.4点变正确了,3测试点.7测试点.9测试点.WA,6测试点.TLE

  3. 我又将int n[205]改为int n[210]则只剩20分,但是这回9点正确,1.3.5.6.8点TEL,2.7.10WA

我现在不理解的点很多,求大佬帮我解答

  1. 代码主体一样为什么改数组大小,分数就不一样,如果是数组大小不够为什么中间数分数最高,又为什么三组测试点将对的加载一起还能全对
  2. TEl从何而出,是超出时间限制了还是死循环还是有其他原因。为什么改数组长度TLE的位置在不断不断变化,WA的位置也变化
  3. 我下载了3测试点发现输出相同但是为什么没得分 我这几个问题好像都是一个点,但是标上序号似乎还是比较清楚 求大佬解答,十分感谢,万分感谢

by sw2022 @ 2022-03-22 17:28:46

@Programmer_1745 包揽红题战神


上一页 |