比赛 CSP2022普及组 评测结果 WWWWWWAWWW
题目名称 解密 最终得分 10
用户昵称 yrtiop 运行时间 0.178 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2022-10-29 15:02:01
显示代码纯文本
#include <bits/stdc++.h>
typedef long long i64;

void work() {
	i64 n,a,b;
	scanf("%lld %lld %lld",&n,&a,&b);
	i64 c = n - a * b + 2;
	i64 val = c * c - 4ll * n;
	if(val < 0) {
		puts("NO");
		return ;
	}
	i64 t = (i64)std::sqrt(val);
	bool flag = false;
	for(i64 i = t - 5;i <= t + 5;++ i) {
		if(i * i == val) {
			t = i;
			flag = true;
			break ;
		}
	}
	if(!flag) {
		puts("NO");
		return ;
	}
	if((c - t) & 1) {
		puts("NO");
		return ;
	}
	printf("%lld %lld\n",(c - t) / 2ll,(c + t) / 2ll);
	return ;
}

int main() {
	freopen("csp2022pj_decode.in","r",stdin);
	freopen("csp2022pj_decode.out","w",stdout);
	int T;
	scanf("%d",&T);
	while(T --)work();
	return 0;
}