文章目录

  • 1. 题目
    • 1.1 题目链接
    • 1.2 题目大意
    • 1.3 解题思路
  • 2. Accepted 代码

1. 题目

1.1 题目链接

http://poj.org/problem?id=2287

1.2 题目大意

双方各有n匹战斗力各异的马,分别派出来PK,假设对方先出牌,我方后出,求我方最多能胜几场

1.3 解题思路

  • 对方出来战斗力k的马
  • 我方派出战斗力比k大的且最弱的马,赢,保存实力更高的马
  • 若均无法战胜对方,派出最弱的马,让你赢个最弱的,保存实力

2. Accepted 代码

/*** @description: poj2287田忌赛马(贪心)* @author: michael ming* @date: 2019/7/2 23:55* @modified by: */
#include <iostream>
#include <algorithm>
using namespace std;
bool comp(int a, int b)
{return a > b;
}
int main()
{int i, j, iend, jend, n, money;int tianji[1001], king[1001];while(cin >> n && n != 0){for(i = 0; i < n; ++i)cin >> tianji[i];for(j = 0; j < n; ++j)cin >> king[j];sort(tianji, tianji+n, comp);//从大到小排序sort(king, king+n, comp);//从大到小排序i = j = 0;iend = jend = n-1;money = 0;while(i <= iend){if(tianji[i] > king[j])//我方能打赢所有的,那么我就打掉一个最厉害的{money += 200;i++,j++;}else if(tianji[i] < king[j])//我方最大的都比别人小,让最弱的出战{money -= 200;iend--,j++;}else//两边最厉害的一样{if(tianji[iend] > king[jend])//最弱的马都能打败你的最弱马,那就用最小实力的{money += 200;iend--,jend--;}else if(tianji[iend] < king[jend])//我最弱的马没有胜算,让给你最强的马吃掉{money -= 200;iend--,j++;}else//两边最厉害的,和最弱的都一样,{if(tianji[iend] < king[j])money -= 200;//我最弱的给你最强的吃掉iend--,j++;//如果tianji[iend] == king[j]//说明剩余两边的马全部相等,打平,金钱不变,下标挪一下}}}cout << money << endl;}return 0;
}

POJ 2287 田忌赛马(贪心)相关推荐

  1. 田忌赛马 贪心 注意细节

    http://poj.org/problem?id=2287 田忌赛马 题意:给田忌 和 国王 各自n匹马 比赛n轮 每匹马只能比一场  赢的一方得200 平得0 田忌最多赢多少 思路 贪心:局部最优 ...

  2. POJ2287 田忌赛马---贪心算法

    田忌赛马 题目详见http://poj.org/problem?id=2287 田忌赛马大家都听过,可是如果不是上中下三等马,而是很多匹马,优劣有很多种分类,就不仅仅是321的问题了. 这个很明显就是 ...

  3. 田忌赛马贪心算法_田忌赛马问题——贪心算法

    关于输入 输入包含多组测试数据. 每组测试数据的第一行是一个整数n(1<=n<=1000),表示田忌和齐王都拥有n匹马.接下来一行是n个整数,表示田忌的马的速度,下一行也是n个整数,表示齐 ...

  4. 田忌赛马贪心算法_贪心算法--田忌赛马问题

    题目描述: 你一定听过田忌赛马的故事吧? 如果3匹马变成1000匹,齐王仍然让他的马按从优到劣的顺序出赛,田忌可以按任意顺序选择他的赛马出赛.赢一局,田忌可以得到200两银子,输一局,田忌就要输掉20 ...

  5. 田忌赛马 poj 2287 (贪心,动态规划,贪心+动态规划)

    题目链接 贪心 :1:如果田忌的最快马快于齐王的最快马,比一场 2: 如果田忌的最快马慢于齐王的最快马,则用田忌的最慢马和齐王的最快马比赛一场 3: 如果田忌的最快马和齐王的最快马一样快,则比较田忌的 ...

  6. POJ 2287 - Tian Ji -- The Horse Racing(贪心)

    题意:田忌和齐王都有 n(n <= 1000)匹马,二者进行 n 轮赛马,赢一局+200,平一局得 0,输一局 -200,求田忌最多能赢多少钱. 贪心,先将田忌和齐王的马分别排序,然后最上等与最 ...

  7. 田忌赛马贪心算法_田忌赛马 贪心算法

    算法实验课回顾 田忌赛马 问题描述: 你一定听说过田忌赛马的故事吧?如果3匹马变成n匹(n<=100),齐王仍然让他的马按照优到劣的顺序初赛,田忌可以按任意顺序选择他的赛马出赛.赢一局,田忌可以 ...

  8. poj 1456 Supermarket 贪心+并查集(个人感觉有点难判断出来

    poj 1456 这第一眼还觉得只要贪心就可以了,但是emmm看了大佬的题解居然真的要用到并查集= = 大佬清晰的思路 大佬舒服的代码 #pragma warning(disable:4996) #i ...

  9. 田忌赛马-贪心算法实现

    田忌赛马c语言代码实现 1,问题描述 你一定听说过田忌赛马的故事吧?如果3匹马变成n匹(n<=100),齐王仍然让他的马按照优到劣的顺序初赛,田忌可以按任意顺序选择他的赛马出赛.赢一局,田忌可以 ...

最新文章

  1. Single Shot Multibox Detection (SSD)实战(下)
  2. flask第十篇——url_for【3】
  3. Java学习_day009(oop):引用类型数组、继承的意义
  4. 7.16 T1 礼物
  5. 攻防世界dice_game(pwn)
  6. raspberry pi_构建自己的Raspberry Pi龙卷风预警系统
  7. 素拓活动策划书的撰写范文
  8. python2中可以使用print()函数吗_Python3中的 print 函数有哪些用法?
  9. LightOJ 1055 BFS暴力
  10. 【Linux】解决Wesnoth中文乱码问题
  11. smartdns使用指南_SmartDNS配合某插件进阶上网使用教程(基于N1盒子Op系统)
  12. ezcad旋转轴标刻参数_激光打标机软件ezcad中菜单下的地球仪标刻功能介绍及其操作设置...
  13. 【爬虫】花瓣图片爬虫,Python图片采集下载源码
  14. java配置文件密码加密解密_Java-从配置文件加密/解密用户名和密码
  15. 泰坦尼克号电影 完整字幕 中英文对比 完整版
  16. 深入存储驱动:Overlay2
  17. 决策树算法梳理(从原理到示例)
  18. windows如何截图
  19. 荧光微球激发光谱图/橙色荧光微球/绿色荧光微球/氨基红色荧光微球/氨基橙色荧光微球
  20. webrtc丢包率与jitter计算

热门文章

  1. 死锁产生的原因及条件、如何避免死锁
  2. Linux:Access time、 Modify time 、Change time 和 find 命令使用解析
  3. Mysql索引类型分析
  4. 《鸟哥的Linux基础》
  5. 1057: [ZJOI2007]棋盘制作 - BZOJ
  6. 三十岁以前不必在乎的29件事
  7. Linux 系统下载网址
  8. u-boot与bootloader及其区别
  9. 我也确实很向往深圳这种拼搏的精神
  10. 给电子类大学生一点求职建议