福建省赛 RunningMan fzoj2221

 Problem 2221 RunningMan

Accept: 27    Submit: 75
Time Limit: 1000 mSec    Memory Limit : 32768 KB

 Problem Description

ZB loves watching RunningMan! There's a game in RunningMan called 100 vs 100.

There are two teams, each of many people. There are 3 rounds of fighting, in each round the two teams send some people to fight. In each round, whichever team sends more people wins, and if the two teams send the same amount of people, RunningMan team wins. Each person can be sent out to only one round. The team wins 2 rounds win the whole game. Note, the arrangement of the fighter in three rounds must be decided before the whole game starts.

We know that there are N people on the RunningMan team, and that there are M people on the opposite team. Now zb wants to know whether there exists an arrangement of people for the RunningMan team so that they can always win, no matter how the opposite team arrange their people.

 Input

The first line contains an integer T, meaning the number of the cases. 1 <= T <= 50.

For each test case, there's one line consists of two integers N and M. (1 <= N, M <= 10^9).

 Output

For each test case, Output "Yes" if there exists an arrangement of people so that the RunningMan team can always win. "No" if there isn't such an arrangement. (Without the quotation marks.)

 Sample Input

2100 100200 100

 Sample Output

NoYes

 Hint

In the second example, the RunningMan team can arrange 60, 60, 80 people for the three rounds. No matter how the opposite team arrange their 100 people, they cannot win.

 Source

第六届福建省大学生程序设计竞赛-重现赛(感谢承办方华侨大学)
好吧,如果不作,这道题肯定一次过的,真是不做不死啊,测试的时候定义成浮点型了,就怕整数型的过不去,结果浮点型挂了,整数过了,大概是这样的,如果跑男团的人数大于或等于对方团的1.5倍-1个,那么跑男团一定会赢,举个例子吧,就拿149 和 100 来说,跑男团拿出49 个队员,对方团想要赢,必须至少拿出50 个,但是对方团就只剩了50 个,那么跑男团只需要各派出50 就能赢得比赛,但是数据有比较小的数,举个例子来说,如果对方团只有2 个人,那么跑男团只需要有一个人就能获得胜利,如果对方团只有1 个人,那么跑嫩图案就一定能获得胜利,如果对方团有3 个人,那么跑男团至于2 个人就能胜利,其余的就是以上的结论:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int p;
int   m,n;
int main()
{
	scanf("%d",&p);
	while(p--)
	{
		scanf("%d%d",&m,&n);
		if(n==1||(n==2&&m!=0)||n==3&&m>=2)
		{
			printf("Yes\n");
			continue;
		}
		if(m>=n*3/2-1)
		printf("Yes\n");
		else
		printf("No\n");
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值