HDU 1338 Game Prediction 小想法

原创 2015年11月19日 14:17:23

题意:有n个人在玩牌,每个人手里面有m张牌,一共得n*m张牌标号从1到n*m,现在他们要玩很多轮游戏,每一轮赢的条件是:每个人从自己的牌组里面选择一张牌,然后所有人出最大牌的人赢得一轮,现在给你一个人的手牌,问你他最少赢几轮?


想法:有一个关键点,这里的最少赢,意思是,你这一把百分之一百会赢,那么这个人这一轮出的牌,一定是所有未出的牌里面最大的牌,因为每个人都想赢,所以只要你出了一张大的牌,那么他肯定会出比你大的牌。

注意:不要想到田忌赛马那一题,那个求得是理论最大赢得局数,这题是你可以稳赢的局数。


#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int n,m;
int a[60],vis[1000+5];
bool cmp(int a,int b)
{
	return a>b;
}
int main()
{
	int ca=1;
	while(~scanf("%d%d",&n,&m),n+m)
	{
		memset(vis,0,sizeof(vis));
		for(int i=1;i<=m;i++)
		{
			scanf("%d",&a[i]);
			vis[a[i]]=1;
		}
		sort(a+1,a+1+m,cmp);
		int key,sum=0;
		for(int i=n*m;i>=1;i--)
		{
			if(!vis[i])
			{
				key=i;
				break;
			}
		}
		for(int i=1;i<=m;i++)
		{
			if(a[i]>=key) 
			{
				sum++;
			}
			else
			{
				vis[key]=1;	
			}
			for(int j=n*m;j>=1;j--)
			{
				if(!vis[j])
				{
					key=j;
					break;
				}
			}
		}
		printf("Case %d: %d\n",ca++,sum);
	}
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

HDU 1338 Game Prediction 贪心

HDU 1338 Game Prediction 贪心

hdu 1338Game Prediction

Game Prediction Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)...

hdu 1338 Game Prediction

题目地址:

HDU 1338 Game Prediction(田忌赛马)

田忌赛马

贪心 hdu-1338-Game Prediction

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1338 题目意思: 有m个人,每个人有n张牌,牌点为在1~n*m中的不同的数。每回合每个人出一张...

HDU 1338 Game Prediction【贪心】

慧航空AI大赛”(报名中...)  Game Prediction Time Limit: 2000/1000 MS (Java/Others)    Memory L...

hdu3389 Game-----博弈想法题 难

Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub...

HiHoCoder_#1338 : A Game

??

boj 1338 simple game 先枚举行 然后对每一列再找 用到了不少位运算 另外数组要定义全局 局部数组不为0

地址:http://acm.scs.bupt.cn/onlinejudge/showproblem.php?problem_id=13381. 12. 数组问题 暂时没弄清3. 先枚举行翻转的情况n行...

Game Prediction

Time limit: 1 Seconds   Memory limit: 32768K  Total Submit: 149   Accepted Submit: 112  Suppose ther...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HDU 1338 Game Prediction 小想法
举报原因:
原因补充:

(最多只允许输入30个字)