全爆RE,求条,玄关
查看原帖
全爆RE,求条,玄关
1329893
nieziheng楼主2025/1/9 20:30

样例过了,数据点下了两个都没问题,看了半天也没看出哪能爆RE

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a,b;
ll f[100]={0,1,1};

ll check(ll x,ll l,ll r){
	ll mid=(l+r)/2;
	if(f[mid]<x&&f[mid+1]>=x) return f[mid];
	else if(f[mid]<x) check(x,mid+1,r);
	else if(f[mid]>=x) check(x,l,mid-1);
}

int main() {
    for (int i=3;i<=60;i++){
        f[i]=f[i-1]+f[i-2];
    }
    cin>>n;
    for(int i=1;i<=n;i++){
		cin>>a>>b;
		if(a==b){
			cout<<a<<endl;
			continue;
		} 
		while(1){
			if(a>b){
				a-=check(a,1,60);
			}
			else{
				b-=check(b,1,60);
			}
			if(a==b){
			    cout<<a<<endl;
			    break;
		    }
		}
	}
    return 0;
}

2025/1/9 20:30
加载中...