题干:
分东西
时间限制:1000 ms | 内存限制:65535 KB
难度:1
输入
第一行输出一个数i表示有i组情况(0<i<=10)
接下来的i行,每一行输入两个个数M(0<M<1000000)和N(0<N<20)
输出
输出店主是否办得到Yes或No
样例输入
2 3 2 8 3
样例输出
Yes No
来源
描述
一家商店经调查后发现顾客都比较喜欢整箱的商品而不太喜欢拆散,于是呢,这个商店就将M件相同物品事先分装在N个箱装好,以便客人购买的时候,不管客人想要几件都可以整箱的给,不用拆箱子,想以此来提高销量。问题来了,店主办得到吗?
解题报告:
水题。。。二进制的思想。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int n,m;
int main()
{
int t;
cin>>t;
while(t--) {
cin>>m>>n;//把m件物品放到n个箱子中
if(n >= m) printf("Yes\n");continue;
if(n > log2(m)) printf("Yes\n");
else printf("No\n");
}
return 0 ;
}