題意
https://vjudge.net/problem/CodeForces-1260C
有一串磚,凡是r的倍數而不是b的倍數必須涂紅,凡是b的倍數而不是r的倍數必須涂藍,是公倍數則選一個涂,把涂色的磚選出來之后,問是否一定有連續的k個磚是同一種顏色,
思路
當r和b有公因子(即gcd!=1)時,可以發現只是跳過了一些數,和最簡形式沒有區別,那么我們先約簡,約簡后,如果r==b,那么絕對是有解的(交題涂);否則,假設b>r,那么序列一定是類似x r b r b r r b,因為b增長的更快,那么對于一段連續的r,我們要用兩個b去分隔它們,兩個b之間的位置個數是b-1,k個r要占的長度是(k-1)*r+1,判斷兩個b之間能不能用這k個r填滿即可,如果能或者有多的位置,那么不行;否則可行,
代碼
#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
#define ll long long
const int N=200005;
const int mod=1e9+7;
const double eps=1e-8;
const double PI = acos(-1.0);
#define lowbit(x) (x&(-x))
ll gcd(ll a,ll b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
std::ios::sync_with_stdio(false);
int t;
cin>>t;
while(t--)
{
ll r,b,k;
cin>>r>>b>>k;
if(r>b)
swap(r,b);
ll g=gcd(r,b);
r/=g,b/=g;
if(r==b)
{
cout<<"OBEY"<<endl;
}
else if(b-1<(k-1)*r+1)
cout<<"OBEY"<<endl;
else
cout<<"REBEL"<<endl;
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/119198.html
標籤:其他
上一篇:有關南方cass
