C - Infinite Fence -1260C

考虑区间长度,我们让r和b除以他们的__gcd这样,这样得到的r和b是互质或者相等的。我们取他们两个小的那个。假设是b.那么被涂的方块应该是b,2b,3b,4b,....kb.

相邻的两个方块之间的区间长度是b-1。。。。k个连续的方块一共会产生k-1的间隔,这些间隔的总长度是n*(k-1),如果说n*(k-1)+1>=m说明mz在这些间隔之间,,也就说一定会有交集的。否则不会有的

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void solve(){
    ll n,m,k;
    cin>>n>>m>>k;
    ll x=__gcd(n,m);
    n/=x;
    m/=x;
    if(n>m) swap(n,m);
    if(n*(k-1)+1<m) cout<<"REBEL"<<endl;
    else cout<<"OBEY"<<endl;
    return ;
}
int main(){
    ll t;
    cin>>t;
    while(t--) solve();
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/Accepting/p/12019784.html