[CF911C]Three Garlands

题目大意:
  给你三个灯,分别以k1秒一次,k2秒一次和k3秒一次的频率闪烁着。
  你可以自定义三个灯开启的时间,问是否有一种方案,使得max(k1,k2,k3)秒之后,每秒钟都至少有一盏灯闪烁。

思路:
  很显然,当三盏灯频率都大于4秒一次时,不存在答案,那么我们只需要大力讨论4秒以内的情况即可。

 1 #include<cstdio>
 2 #include<cctype>
 3 #include<algorithm>
 4 inline int getint() {
 5     register char ch;
 6     while(!isdigit(ch=getchar()));
 7     register int x=ch^'0';
 8     while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0');
 9     return x;
10 }
11 int main() {
12     int k1=getint(),k2=getint(),k3=getint();
13     if(k1>k2) std::swap(k1,k2);
14     if(k2>k3) std::swap(k2,k3);
15     if(k1>k2) std::swap(k1,k2);
16     if(k1==1||k2<=2||k1==3&&k2==3&&k3==3||k1==2&&k2==4&&k3==4) {
17         puts("YES");
18         return 0;
19     }
20     puts("NO");
21     return 0;
22 }

 

posted @ 2018-01-02 07:53  skylee03  阅读(180)  评论(0编辑  收藏  举报