FZU - 2214 Knapsack problem(思维)

很好的一道思维题,三场比赛随意抽两场比赛跑男团都不能全输,也就是说,随意抽两场出现跑男团都输的情况跑男团输,所以敌方把所有的人数都投入的两轮中。

(1)当M为偶数时,即敌方队的人数为偶数时,设2*k=M;
则跑男团的三轮人数为:
k, k, k-1
这样的安排会使敌方队任选两轮,不可能都赢。且这是最优的了
所以N>=(k+k+k-1);
(2)当M为奇数时, 即敌方队的人数为奇数时,设2*K+1=M;
则跑男团的三轮人数为:
k, k, k
这样的安排会使敌方队任选两轮,不可能都赢。且这是最优的了

所以N>=(k+k+k);

#include <iostream>
#include <cstdio>
using namespace std;

int main(void){
	int t;
	scanf("%d",&t);
	while(t--){
		int n,m;
		scanf("%d%d",&n,&m);
		if(m % 2 == 0){
			if(n >= m / 2 + m / 2 + m / 2 - 1){
				printf("Yes\n");
			}
			else{
				printf("No\n");
			}
		}
		else{
			if(n >= m / 2 + m / 2 + m / 2){
				printf("Yes\n");
			}
			else{
				printf("No\n");
			}
		}
	}
	return 0;
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GYH0730/article/details/79952259
个人分类: ACM-基础算法+思维
上一篇FZU - 2214 Knapsack problem (01背包变形)
下一篇FZU - 2216 The Longest Straight(二分枚举或队列)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭