如何解决 WA+TLE
查看原帖
如何解决 WA+TLE
726902
bcbgszyzh楼主2023/12/23 19:38
#include<bits/stdc++.h>
using namespace std;
const long long N=1e11;
int main(){
	freopen("zjjdfs.in","r",stdin);
	freopen("zjjdfs.out","w",stdout);
	int n,m;
	scanf("%d%d",&n,&m);
	double a;
	long long b;
	scanf("%lf",&a);
	b=a*N;
	long long mn=9223372036854775807;
	int p,q;
	int cnt=0;
	for(int i=1;i<=n;++i){
		for(int j=1;j<=m;++j){
			if(__gcd(i,j)!=1)continue;
			if((abs(i*N/j-b)/10)<mn){
				mn=(abs(i*N/j-b)/10);
				p=i,q=j;
				cnt=0;
			}
			if((abs(i*N/j-b)/10)==mn){
				cnt++;
			}
		}
	} 
	if(cnt==1)printf("%d/%d",p,q);
	else printf("TOO MANY");
	return 0;
}
2023/12/23 19:38
加载中...