这种事情发生过很多次,在这种多组数据的题目中经常会手动输入的输出结果正确,但复制粘贴样例会少换行,有时还会输入不完整(只能粘贴上前面的几个数字),有时候还会因为这个过不了一部分测试点,正式比赛会有这种情况吗
程序如下:
#include <bits/stdc++.h>
using namespace std;
#define void inline void
unsigned long long t,n,e,d,a,b,p;
#define int register int
signed main()
{
iostream::sync_with_stdio(false);
cin>>t;
while(t--)
{
cin>>n>>e>>d;
a=n-e*d+2;
if(a*a<(n<<2))
{
cout<<"NO"<<endl;
continue;
}
b=a*a-(n<<2);
if(((long long)(sqrt(b)))*((long long)(sqrt(b)))!=b)
{
cout<<"NO"<<endl;
continue;
}
b=(unsigned long long)sqrt(b);
p=(a+b)>>1;
p=min(p,a-p);
cout<<p<<" "<<a-p<<endl;
}
return 0;
}
这是附件样例的效果
10 24568598 2 12274271
627334722 46 13636459
1498221 26 57041
568827088 89 6391288
632103400 4 158012927
256963728 1 256931611
384696951 93 4136098
1072093 17 62939
831052664 1 830997667
241254720 8 30152063
这是我复制粘贴输入的效果
1024568598 2 12274271627334722 46 136364591498221 26 57041568827088 89 6391288632103400 4 158012927256963728 1 256931611384696951 93 41360981072093 17 62939831052664 1 830997667241254720 8 30152063