题意

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;
}

  

最新文章

  1. mysql的DATE_FORMAT用法
  2. Java 创建文件夹和文件
  3. [Effective JavaScript 笔记]第33条:使构造函数与new操作符无关
  4. 使用SurfaceView
  5. Spark Standalone模式伪分布式环境搭建
  6. Java [Leetcode 169]Majority Element
  7. Spring事务配置的五种方式(转发)
  8. [Android] An internal error occurred during: &quot;Launching New_configuration&quot;. Path for project must have only one segment.
  9. 通过定时监听input框来实现onkeyup事件-
  10. 只显示年月的js时间控件 纯手写
  11. Java IO编程全解(五)——AIO编程
  12. 今年暑假不AC【贪心】
  13. C#分部类型解析
  14. 为什么要用kafka、rabbit等消息队列
  15. linux学习第十二天 (Linux就该这么学)找到一本不错的Linux电子书,附《Linux就该这么学》章节目录
  16. angular2的ngfor ngif指令嵌套
  17. FI配置步骤清单
  18. Eclipse 配置Maven以及修改默认Repository
  19. [Windows] 解决 VLC Media Player 的 Crash Reporting 消息弹窗
  20. python内存泄漏

热门文章

  1. cgo在mac上编译
  2. Android获取实时连接热点的设备IP地址
  3. Python语法速查: 6. 循环与迭代
  4. 【转载】C++:switch红色下划线,Error:控制传输跳过的实例化解决办法
  5. nginx常见问题总结
  6. acwing 835. Trie字符串统计
  7. Java Web 学习(9) —— EL 与 JSTL
  8. 《Java面试全解析》505道面试题详解
  9. matlab练习程序(螺线拟合)
  10. 解决 layui 弹出层(弹框)一闪而过就消失的问题 (转载)