题目描述
有一天无聊的你在注册一个无聊的网站,注册完的第一步自然是上传头像。
你发现这个网站总共可以上传 n 个头像,每个头像必须是正方形,并且长宽至少为L×L
在图片上传前,系统会对图片进行如下处理:如果图片的任何一边长度超过了 G ,那么系统会不断地对图片的长宽同时减半(向下取整),直至两边长度≤G 为止。
你现在找到了 n 张可供上传的图片,第 i 张的尺寸是 H_i *W_i 。
如果图片有任何一边小于 LL,请输出 “Too Young”
如果图片满足大小条件但不为正方形,请输出"Too Simple"
如果图片满足大小条件并且是正方形,请输出"Sometimes Naive"
以上所有字符串输出时均不包含引号。
输入输出格式
输入格式:
一行一个整数 n,L,G,意义如题目所述。
接下来每行两个整数 W_i,H_i,表示图片长宽。
输出格式:
共 n 行,每行一个字符串,意义如题目所述。
输入输出样例
输入样例#1:
3 5 10
12 3
7 8
5 5
输出样例#1:
Too Young
Too Simple
Sometimes Naive
分析: 如果图像一边长超过G时,系统会不断的对图片的长宽同时减半;
注意是不断,同时,和减半
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,L,G;
scanf("%d%d%d",&n,&L,&G);
for(int i = 1; i <= n; i++)
{
int x,y;
scanf("%d%d",&x,&y);
int x1 = min(x,y);
int yy = max(x,y);
//printf("%d\n",y);
while(x1 > G || yy > G)
{
x1 /= 2;
yy /= 2;
}
if(x1 < L || yy < L)printf("Too Young\n");
else if(x1 != yy)printf("Too Simple\n");
else printf("Sometimes Naive\n");
}
return 0;
}