社区讨论

二十分的弱鸡,TLE

P8814[CSP-J 2022] 解密参与者 4已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lo7ka0sr
此快照首次捕获于
2023/10/27 03:12
2 年前
此快照最后确认于
2023/10/27 03:12
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
long long n[9999999],e[9999999],d[9999999],p[9999999],q[9999999],k;
int quick_read() {
	int as = 0; int fl = 1; char ch = getchar();
	while(!isdigit(ch)) {if(ch == '-') fl = -1; ch = getchar();}
	while(isdigit(ch)) {as = as * 10 + ch - '0'; ch = getchar();}
	return as * fl;
}
int main(){
	k=quick_read();
	for(int i=1;i<=k;i++){
		n[i]=quick_read(),e[i]=quick_read(),d[i]=quick_read();
		p[i]=0,q[i]=0;
		for(int j=1;j<=n[i];j++){
			for(int l=1;l<=sqrt(n[i]);l++)
			if((p[i]+j)*(q[i]+l)==n[i]&&e[i]*d[i]==((p[i]+j-1)*(q[i]+l-1)+1)){
				p[i]+=j,q[i]+=l,n[i]=0;
				break;
			}
		}
		
	}
	for(int i=1;i<=k;i++){
		if(p[i]!=0||q[i]!=0){
			if(p[i]>q[i]){
				printf("%lld %lld\n",q[i],p[i]);
				continue;
			}
			printf("%lld %lld\n",p[i],q[i]);
		}
		else{
			printf("NO\n");
		}
	}
	return 0;
}
弱鸡打了个大暴力,求大佬帮忙优化下 实在不会了

回复

4 条回复,欢迎继续交流。

正在加载回复...