Educational Codeforces Round 77 (Rated for Div. 2) C. Infinite Fence 数论

传送门

文章目录

题意:

Educational Codeforces Round 77 (Rated for Div. 2)  C. Infinite Fence  数论

思路:

碰到这样的题肯定是先写几个找找规律了,随便写几个就可以发现是以 l c m ( a , b ) lcm(a,b) lcm(a,b)为一个循环,所以我们只需要在一个周期 l c m ( a , b ) lcm(a,b) lcm(a,b)中求最长的一个跟 k k k比较即可。
我们假设 a < b a<b a<b, a a a涂蓝色, b b b涂红色,那么一个周期中蓝色个数为 x = b g c d ( a , b ) x=\frac{b}{gcd(a,b)} x=gcd(a,b)b​,红色个数为 y = a g c d ( a , b ) y=\frac{a}{gcd(a,b)} y=gcd(a,b)a​,由于我们在 l c m ( a , b ) lcm(a,b) lcm(a,b)的位置肯定是填红色更优,所以蓝色个数为 x = b g c d ( a , b ) − 1 x=\frac{b}{gcd(a,b)}-1 x=gcd(a,b)b​−1,现在问题转化成了在 y y y个抽屉里,平均的放入 x x x个,求放的个数最多的抽屉。这个时候答案就比较显然,即 c n t = x / y + ( x   m o d   y ! = 0 ) cnt=x/y+(x\bmod y!=0) cnt=x/y+(xmody!=0),再跟 k k k比较大小即可。

//#pragma GCC optimize(2)
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<map>
#include<cmath>
#include<cctype>
#include<vector>
#include<set>
#include<queue>
#include<algorithm>
#include<sstream>
#include<ctime>
#include<cstdlib>
#define X first
#define Y second
#define L (u<<1)
#define R (u<<1|1)
#define pb push_back
#define mk make_pair
#define Mid (tr[u].l+tr[u].r>>1)
#define Len(u) (tr[u].r-tr[u].l+1)
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define db puts("---")
using namespace std;

//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); }
//void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); }
//void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }

typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;

const int N=1000010,mod=1e9+7,INF=0x3f3f3f3f;
const double eps=1e-6;

LL a,b,k;

int main()
{
//	ios::sync_with_stdio(false);
//	cin.tie(0);

    int _; scanf("%d",&_);
    while(_--)
    {
        scanf("%lld%lld%lld",&a,&b,&k);
        if(a>b) swap(a,b);
        LL x=b/__gcd(a,b)-1,y=a/__gcd(a,b);
        LL cnt=x/y+(x%y!=0);
        if(cnt>=k) puts("REBEL");
        else puts("OBEY");
    }



	return 0;
}
/*

*/


上一篇:(力扣)面试题 01.03. URL化


下一篇:Linux dma-fence demo--笔记