40分求调
查看原帖
40分求调
735427
baermila楼主2022/10/31 09:18
#include<bits/stdc++.h>
using namespace std;
const int N=100010;
long long a;
struct node{
	long long n,e,d,m,r; 
	long long p;
	long long q;
}s[N];
int main(){
	//freopen("decode.in","r",stdin);
	scanf("%d",&a);
	for(int i=1;i<=a;i++){
		scanf("%d",&s[i].n);
		scanf("%d",&s[i].d);
		scanf("%d",&s[i].e);
	}
	for(int i=1;i<=a;i++){
		int yu=s[i].e*s[i].d;
		s[i].m=s[i].n-yu;
		s[i].m=s[i].m+2;
	}
	for(int i=1;i<=a;i++){
		for(int j=1;j<(ceil(s[i].m/2));j++){
			if(s[i].m*s[i].m==4*s[i].n){
				s[i].p=s[i].m/2;
				s[i].q=s[i].p;
				break;
			}
			if(sqrt(s[i].m*j-s[i].n)==j){
				s[i].p=j;	
				s[i].q=s[i].m-j;
				break;
			}
		}
	}
	for(int i=1;i<=a;i++){
		if(s[i].p!=0||s[i].q!=0){
			printf("%d %d\n",s[i].p,s[i].q);
		}else{
			printf("NO\n");
		}
	}
	//freopen("decode.out","w",stdout);
	return 0;
}
2022/10/31 09:18
加载中...