求助WA
查看原帖
求助WA
482610
Mortidesperatslav楼主2023/9/2 22:17
#include<bits/stdc++.h>
using namespace std;
int n,m;
double p,mn=11451419;
int an=0,am=0;
int fl=0;
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    cin>>n>>m;
    cin>>p;
    for(int i=1;i<=n;i++){
		int l=1,r=m;
		while(l<=r){
			int mid=(l+r)>>1;
			double fz=i*1.00,fm=mid*1.00;
			double val=fz*1.00/fm;
			if(an==0&&am==0)an=i,am=mid;
			else if(fabs(val-p)==mn)fl=1;
			if(fabs(val-p)<fabs(mn-p))an=fz,am=fm,fl=0,mn=fz/fm;
			if(val>p)l=mid+1;
			else r=mid-1;
		}
	}
	int gg=__gcd(an,am);
	if(fl==0)cout<<an/gg<<"/"<<am/gg;
	else cout<<"TOO MANY";
}
2023/9/2 22:17
加载中...