T2数据疑似有误?
查看原帖
T2数据疑似有误?
255114
Awhale_tauntingcat楼主2022/10/29 21:40

RT

这是m没判负的源码,洛谷自测40min

#include<iostream>
#include<cmath>
#define ll long long
using namespace std;
signed main(){
  cin.tie(0),cout.tie(0);
  ll k,n,d,e;
  cin>>k;
  for(register ll i=1;i<=k;i++){
    cin>>n>>d>>e;
    ll m=n-e*d+2;
    ll x=m*m-4*n,y=sqrt(x);
    if(y*y!=x||x<0) puts("NO");
    else cout<<(m-y)/2<<" "<<(m+y)/2<<endl;
  }
  return 0;

这是加了m判负的源码,洛谷AC

#include<iostream>
#include<cmath>
#define ll long long
using namespace std;
signed main(){
  ll k,n,d,e;
  cin>>k;
  for(register ll i=1;i<=k;i++){
    cin>>n>>d>>e;
    ll m=n-e*d+2;
    ll x=m*m-4*n,y=sqrt(x);
    if(y*y!=x||x<0||m<0) puts("NO");
    else cout<<(m-y)/2<<" "<<(m+y)/2<<endl;
  }
  return 0;
}

然而题目范围是 1m1091 \le m \le 10^9 ,数据是不是有误? @chen_zhe

2022/10/29 21:40
加载中...