$P5315\ 头像上传$

\(problem\)

月赛的\(T1\) 比较水 比较舒服
这就是个简单 \(moni\)
看起来很难理解
其实就是\(3\)种情况么

如果图片有任何一边小于 \(L\),请输出 \("Too\ Young"\)
如果图片满足大小条件但不为正方形,请输出\("Too\ Simple"\)
如果图片满足大小条件并且是正方形,请输出\("Sometimes\ Naive"\)

韩信(大雾
所以么 我们用三个全局变量 即 : \(N\) , \(L\) , \(G\)
按照题意模拟即可

如果图片的任何一边长度超过了 \(G\) ,那么系统会不断地对图片的长宽同时减半(向下取整),直至两边长度 \(\leq G \)为止。

 while(x > g or y > g) x >>= 1 , y >>= 1 ;

然后分情况 输出。(真好)

	    if(x < l or y < l) {
           puts("Too Young") ;
           continue ;
       }
       if(x != y) {
           puts("Too Simple") ;
           continue ;
       }
       if(x == y) {
           puts("Sometimes Naive") ;
           continue ;
       }

完整代码

#include <bits/stdc++.h>
using namespace std ;

inline int rd() { int x = 0 ; int f = 1 ; register char c ;
#define gc c = getchar()
    while(isspace(gc)) ;
    if(c == '-') f = -1 , gc ;
    while(x = (x<<1) + (x<<3) + (c&15) , isdigit(gc)) ;
    return x * f ;
#undef gc
}

const int inf = INT_MAX >> 1 ;

int n ;
int l ;
int g ;
signed main() {
    n = rd() ;	l = rd() ;	g = rd() ;
    while(n --) {
        int x = rd() ;
        int y = rd() ;
        while(x > g or y > g) x >>= 1 , y >>= 1 ;
        if(x < l or y < l) {
            puts("Too Young") ;
            continue ;
        }
        if(x != y) {
            puts("Too Simple") ;
            continue ;
        }
        if(x == y) {
            puts("Sometimes Naive") ;
            continue ;
        }
    }
    return 0 ;
}
posted @ 2019-04-20 18:19  Isaunoya  阅读(167)  评论(0编辑  收藏  举报
TOP