入门P1319 压缩技术,C语言,最高80分,求解,感谢大佬
查看原帖
入门P1319 压缩技术,C语言,最高80分,求解,感谢大佬
552724
printfscanf_楼主2022/3/22 14:36
#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测试点发现输出相同但是为什么没得分 我这几个问题好像都是一个点,但是标上序号似乎还是比较清楚 求大佬解答,十分感谢,万分感谢
2022/3/22 14:36
加载中...