网络营销的网站建设报告,张家港本地论坛,启博云微分销,推广引流吸引人的文案正题
题目链接:https://www.luogu.com.cn/problem/CF1260C 题目大意
无数个栏杆#xff0c;rrr的倍数染成红色#xff0c;bbb的倍数染成蓝色#xff0c;是rrr和bbb的倍数的话可以选择一个染色#xff0c;去掉没有染色的#xff0c;是否有一种方案使得最长的染色快不超过…正题
题目链接:https://www.luogu.com.cn/problem/CF1260C 题目大意
无数个栏杆rrr的倍数染成红色bbb的倍数染成蓝色是rrr和bbb的倍数的话可以选择一个染色去掉没有染色的是否有一种方案使得最长的染色快不超过kkk个。 解题思路
显然在rrr和bbb的最小公倍数左右两种颜色是一样的所以只需要考虑每个公倍数为一段之间的最长连续色块。
假设rbrbrb我们计算最长色块显然边上的色块长度是r/br/br/b。
先将rrr和bbb除于最小公因数ggg考虑计算中间的因为无限延伸总会有一种情况使得一个蓝色块搞好在红色块的后第ggg个位置那么此时是中间最长的长度为(r−2)/b1(r-2)/b1(r−2)/b1
所以判断即可。 codecodecode
#includecstdio
#includecstring
#includealgorithm
#define ll long long
using namespace std;
ll T,a,b,k;
ll gcd(ll x,ll y){if(!y) return x;return gcd(y,x%y);
}
int main()
{//freopen(color.in,r,stdin);//freopen(color.out,w,stdout);scanf(%lld,T);while(T--){scanf(%lld%lld%lld,a,b,k);if(k1){printf(REBEL\n);continue;}if(ab)swap(a,b);ll ggcd(a,b);a/g;b/g;if(a1b1)printf(OBEY\n);else if(b1){if(a-bk)printf(REBEL\n);else printf(OBEY\n);}else{ll c(a-2)/b1,za/b;if(ck||zk) printf(REBEL\n);else printf(OBEY\n);}}
}