贪心的思想:尽量的从最大值找起。然后在剩余之中,再从最大值找起。
一,题意:
  M个人,每人N张牌,每轮比较谁出的牌大,最大者为胜。现在给定M和N,以及你的牌,要求输出你至少能确保获得几轮的胜利
  从"至少能赢几轮"可以看出:每个人必定都从最大的牌开始出。(只判定输赢两种情况即可)
二,思路:
  1,输入并从小到大排序;
  2,循环并记录赢的次数;
  3,输出;
三,步骤:
  1,sort函数排序
  2,先最大的牌比较,再从剩余的牌中,找最大的牌比较,依次循环下去,直到手中牌出完。
    循环开始:i = n-1(手中最大的牌)循环条件win+lose != n(牌未出完)循环处理 i--(每次循环完手中的牌跳到前一张);
    if 手中最大的牌值等于牌中最大的牌值时,必赢win++ ; max--;
    else 必输lose++ ; max -= 2;
   注意:赢了,牌中最大牌值减一,输了减二。
  3,输出。

 #include<iostream>
#include<algorithm>
using namespace std;
int main(){
int m , n , Case = ;
int a[];
while(cin>>m>>n,m||n){
Case++;
for(int i = ; i < n ; i++){
cin>>a[i];
}
sort(a,a+n); //从小到大排序
int win = , lose = ;
int max = n*m ; //存储牌中最大的牌
for(int i = n - ; win+lose != n ; i-- ){ //win+lose==n 表示手上的牌已经出完
if(max==a[i]){
win++; //牌中最大的牌==手上最大的牌时,必赢一次
max--; //赢了,牌中最大的牌值只要减一即可
}
else{ //否则,必输一次。
lose++; //记录输的次数
max-=; //输了,牌中最大的牌值减二
}
}
cout<<"Case "<<Case<<": "<<win<<endl;
}
return ;
}

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

poj1323-Game Prediction(贪心思想)的更多相关文章

  1. hdu 4105 贪心思想

    淋漓尽致的贪心思想 波谷一定是一位数.波峰一位数不够大的时候加入到两位数就一定够大了的. 当在寻找波谷碰到零了就自然当成波谷. 当在寻找波峰时碰到零时,将前面的波谷加到前一个波峰上.让当前的零做波谷, ...

  2. NOIP2012BLOCKADE贪心思想证明

    NOIP2012BLOCKADE贪心思想证明 这道题的做法是二分时间并检验这个时间是否可行.检验的方法要用到贪心思想. 对于不能到根结点的军队应该尽量向根结点走. 如果军队A能走到根结点但到根结点后剩 ...

  3. 贪心思想之区间贪心 关联洛谷P1803

    力扣上也有一道类似的题 几乎是一样 输出不同 → 力扣leetcode 435. 无重叠区间 区间贪心是比较经典的 就拿洛谷P1803来举例 题目大意 n个比赛 [开始时间,结束时间] 问一个人最多能 ...

  4. poj3122-Pie(二分法+贪心思想)

    一,题意: 有f+1个人(包括自己),n块披萨pie,给你每块pie的半径,要你公平的把尽可能多的pie分给每一个人 而且每个人得到的pie来自一个pie,不能拼凑,多余的边角丢掉.二,思路: 1,输 ...

  5. HDU 4857 逃生(反向建边的拓扑排序+贪心思想)

    逃生 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  6. POJ 3687 Labeling Balls(反向拓扑+贪心思想!!!非常棒的一道题)

    Labeling Balls Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16100   Accepted: 4726 D ...

  7. PAT 1033 To Fill or Not to Fill (25分) 贪心思想

    题目 With highways available, driving a car from Hangzhou to any other city is easy. But since the tan ...

  8. 力扣Leetcode 45. 跳跃游戏 II - 贪心思想

    这题是 55.跳跃游戏的升级版 力扣Leetcode 55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃 ...

  9. cf12D Ball(MAP,排序,贪心思想)

    题意: N位女士一起聚在一个舞厅.每位女士有三个特征值B,I,R.分别代表美貌,智慧,富有. 对于一位女士而言,如果存在一个女士的B,I,R都分别大于她自己的B,I,R.则她自己会自杀. 统计总共有多 ...

随机推荐

  1. MySQL Cluster 数据分布(分区、分组)

    数据分布 1.MySQL Cluster自动分区数据表(也可能使用用户自定义分区),将数据分布到分区中: 2.一个数据表被划分到多个Data Node分区中,数据在分区中被”striped”: 3.主 ...

  2. 编译安装 Zend Opcache 缓存Opcache,加速 PHP

    Optimizer+ 是 Zend 开发的闭源但可以免费使用的 PHP 优化加速组件,是第一个也是最快的 opcode 缓存工具.现在,Zend 科技公司将 Optimizer+ 在 PHP Lice ...

  3. js parseInt 显示0

    parseInt 有第二个参数, 就是进制参数 parseInt("08", 10);  //表示这个数字是十进制的就不会出错了.

  4. 【HNOI2008】Cards BZOJ 1004

    Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目 前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给出了答案.进一步,小春要求染出Sr张 ...

  5. testng 教程

    Testng 简介: Testng是一套开源测试框架,是从Junit继承而来,testng意为test next generation,主要有以下特性: annotations  注释,如 @test ...

  6. mac下剪切文件或文件夹

    首先选中文件,按Command+C复制文件:然后按Command+Option+V:就可以把你的文件剪走了!

  7. NET微信公众号开发-5.0微信支付(待测试)

    开发前准备. 1.0微信支付官方开发者文档 2.0官方demo下载 我们用c#所以选择.net版本 不过这个官方的demo根本跑步起来 3.0官方demo运行起来解决方案 4.0微信支付官方.net版 ...

  8. Android开发之---Activity生命周期

    Android开发中,有四大组件:Activity.Service.Content Provider.Broadcast Receiver,可以说,activity的使用是最频繁的了,这里来梳理一下与 ...

  9. 算法系列:FFT 003

    转载自https://zhuanlan.zhihu.com/p/19763358 作者:Heinrich 链接:https://zhuanlan.zhihu.com/p/19763358 来源:知乎 ...

  10. 【leetcode】Excel Sheet Column Title & Excel Sheet Column Number

    题目描述: Excel Sheet Column Title Given a positive integer, return its corresponding column title as ap ...