感觉洛谷CSP-J T3的民间数据有问题
  • 板块学术版
  • 楼主MorLeaves
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/10/25 22:15
  • 上次更新2023/11/2 11:23:54
查看原帖
感觉洛谷CSP-J T3的民间数据有问题
877691
MorLeaves楼主2023/10/25 22:15

在此代码下,只获得了40分,只对了 #1 #3 #7 #8

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
double x[4];
int main()
{
//	freopen("uqe.in","r",stdin);
//	freopen("uqe.out","w",stdout);
	int T,M,a,b,c;
	scanf("%d %d",&T,&M);
	for(int ypy=1;ypy<=T;ypy++)
	{
		scanf("%d %d %d",&a,&b,&c);
		if (b*b-4*a*c<0)
		{
			printf("NO\n");
			continue;
		}
		if (b==0&&c==0)
		{
			printf("0\n");
			continue;
		}
		x[1]=(-b+sqrt(b*b-4*a*c))/(2*a),x[2]=(-b-sqrt(b*b-4*a*c))/(2*a); 
		if (floor(x[1])==x[1]&&floor(x[2])==x[2])
		{
			printf("%.0lf\n",max(x[1],x[2]));
			continue;
		}
	}
	return 0;
}

然而注释掉第20~24行,只获得了20分,只对了 #7 #8

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
double x[4];
int main()
{
//	freopen("uqe.in","r",stdin);
//	freopen("uqe.out","w",stdout);
	int T,M,a,b,c;
	scanf("%d %d",&T,&M);
	for(int ypy=1;ypy<=T;ypy++)
	{
		scanf("%d %d %d",&a,&b,&c);
		if (b*b-4*a*c<0)
		{
			printf("NO\n");
			continue;
		}
//		if (b==0&&c==0)
//		{
//			printf("0\n");
//			continue;
//		}
		x[1]=(-b+sqrt(b*b-4*a*c))/(2*a),x[2]=(-b-sqrt(b*b-4*a*c))/(2*a); 
		if (floor(x[1])==x[1]&&floor(x[2])==x[2])
		{
			printf("%.0lf\n",max(x[1],x[2]));
			continue;
		}
	}
	return 0;
}

这是否说明在#3的数据下,b==0并且c也==0。

2023/10/25 22:15
加载中...