链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
众所周知,装修是个很麻烦的事。这不,木木家要装修了,木木爸爸是个很抠的人,从不浪费一分一毫。但是在铺地板上出现了问题。爸爸订了一种 30cm×20cm 规格的地板(最便宜),经过丈量,得知了自己的房间的规格,他想知道,是否存在一种方法,能用这种规格的地板铺满房间。
木木家有很多房间,他知道每间房间地面的规格,询问是否用 30cm×20cm的便宜地板铺满地面。
为了简化问题,我们设 10cm10cm10cm 为一个单位。每间房间地面的规格均用整数单位描述。
例如下图为 6×7规格地面的一种铺地方式:
输入描述:
第一行为一个整数 n ,n∈[1,10^4],表示木木家的房间数量(不要质疑数量太大,木木家有矿)
接下来 n 行,每行两个整数 a,b,a,b∈[1,10^9],描述每间房间的规格。(不要质疑房间太大,木木家有矿)
输出描述:
输出 n 行,每行一个单词 YES 或者 NO。
第 i 行描述第 i 间房间是否能用这种地板铺满。
YES 表示可以,NO 表示不行。
示例1
输入
5 3 6 2 4 2 6 7 4 9 2
输出
YES NO YES NO YES
思路:哈哈哈哈哈一个大水题目,想到了就轻松AC,差不多脑筋急转弯和数学问题。
我们来想想。用的是3*2的,那么就是6块,如果地板不是6的倍数那么肯定不行,如果是6的倍数那么应该就可以,所以我们考虑6的倍数的地板,对于3*2的,只有1*n(n为6的倍数)的地板不行,所以答案很快出啦(别问我怎么想到的,感觉,真的凭感觉)
AC代码:
#include <stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--){
long long a,b;
scanf("%lld%lld",&a,&b);
if(a*b%6==0){
if(a==1||b==1){
printf("NO\n");
}
else{
printf("YES\n");
}
}
else{
printf("NO\n");
}
}
}