算法题目——田忌赛马(POJ-2287)

贪心和DP POJ2287 田忌赛马 题目大意:给出n 阅读详情

POJ-2287
参考文章

#include<iostream>
#include<vector>


#include<algorithm>
#include<cstring> 
using namespace std;
bool comp(int x ,int y)
{
    return x > y;
}
int main()
{
	int n;
	int temp;//保存临时变量的 
	vector<int> vec;//用于保存输出的结果 
	while(cin>>n&&n!=0)
	{
		vector<int> tian_vec;
		vector<int> qi_vec;
		
		for(int i=0;i<n;i++)
		{
			cin>>temp;
			tian_vec.push_back(temp); 
		}
		sort(tian_vec.begin(),tian_vec.end(),comp);
		for(int i=0;i<n;i++)
		{
			cin>>temp;
			qi_vec.push_back(temp);
		}
		sort(qi_vec.begin(),qi_vec.end(),comp);
		
		
		int tian_i=0;
		int tian_j=tian_vec.size()-1;
		int qi_i=0;
		int qi_j=qi_vec.size()-1;
		int num=0;//记录田忌赢的次数 
		int lost=0;//记录田忌输的次数 
		
		for(int i=0;i<n;i++)
		{
			if(tian_vec[tian_i]>qi_vec[qi_i])//田忌的优等马>齐王的优等马
			{
				num++;
				tian_i++;
				qi_i++; 
			}
			else//田忌的优等马<=齐王的优等马
			{
				if(tian_vec[tian_j]>qi_vec[qi_j])//田忌的下等马>齐王的下等马
				{
					num++;
					tian_j--;
					qi_j--;
				}
				else//田忌的下等马<=齐王的下等马,田忌的下等马去比较齐王的上等马 
				{
					
					if(tian_vec[tian_j]<qi_vec[qi_i])//田忌的下等马<齐王的上等马
					{
						num--; 
						tian_j--;
						qi_i++;
					} 
					
				 
					
					 
				 }
				
				
			}
			
			
		}
		
		tian_vec.clear();
		qi_vec.clear();
			vec.push_back(num*200);
	}
	for(int i=0;i<vec.size();i++)
	{
		cout<<vec[i]<<endl;
	}

 } 
田忌赛马: POJ 2287(贪心解法) NULL 博文链接:https://128kj.iteye.com/blog/1759266 立即下载

相关推荐

产生式系统的完整示例——医疗诊断系统(附python代码)

发烧(Fever)、咳嗽(Cough)、皮疹(Rash)、喉咙痛(SoreThroat)、头痛(Headache)、流涕(RunnyNose)、呼吸困难(ShortnessOfBreath)、白细胞计数高(HighWBC)、接触流感患者(ContactFlu)、接触麻疹患者(ContactMeasles)。(2)若规则库中存在尚未使用过的规则,而且它的前提(前件)可与综合数据库中的已知事实匹配,则转第(3)步;(3)执行当前选中的规则,并对该规则做上标记,把该规则执行后得到的结论送入综合数据库中。

搏博的专栏 1703

POJ 2287 田忌赛马 贪心

中国古代一个有名的故事 ” 田忌赛马”。田忌和齐王赛马, 他们各有 n 匹马,依次派出一匹马进行比赛, 每一轮获胜的一方将从输的一方获得200 银币, 平局则不用出钱。其中每匹马只能出场一次,每匹马有一个速度值,在比赛中速度快的马一定会获胜。田忌知道所有马的速度值,且田忌可以安排每轮双方出场的马。问田忌如何安排马的出场顺序,使得最后获得的钱最多?

2302_79545206的博客 693

实验六 存储器实验

只读存储器(ROM)是一种在正常工作时其存储的数据固定不变,其中的数据只能读出,不能写入,即使断电也能够保留数据,要想在只读存储器中存入或改变数据,必须具备特定的条件。当地址为00000101时,会分别在数据位宽为8,16,32的只读寄存器中找到地址为00000101所对应的十进制地址位置,也就是地址为5的数据,并将其分别以8位,16位,32位输出。因此,输出保持为0。因此,当异步清零信号为1时,无论其他输入信号是什么,触发器的输出都会被强制清零,输出为0。1)寄存器输入0011,使能端1,异步清零0。

wenmou1111的博客 3004

poj2287题解

题目有几种情况 1.田忌最快的马比齐威王最快的马快 2.田忌最快的马比齐威王最快的马慢 3.田忌最快的马和齐威王最快的马速度相等 (1)田忌最慢的马比齐威王最慢的马速度快 (2)田忌最慢的马比齐威王最慢的马速度慢或者相等 //Memory 176K Time 79MS #include <iostream> #include <cstdio> #include <al...

xiaozhou163的博客 364

【深度排查】VScode 远程 SSH 连接失败:从网络握手到服务部署的全链路诊断指南

本文详细解析了VScode远程SSH连接失败的常见原因及解决方案,从基础网络排查到SSH服务配置,再到VScode特有的问题处理。特别针对Ubuntu和TrueNAS系统提供了具体配置建议,帮助开发者快速解决'Could not establish connection'等连接问题,提升远程开发效率。

weixin_30301449的博客 447

把 SAP Event Mesh 讲透:从事件驱动架构到 SAP BTP 落地实践

摘要: SAP Event Mesh是SAP BTP上的云端消息与事件服务,支持企业构建解耦、弹性的应用架构。它通过异步通信模式(如发布/订阅)解决传统同步集成的痛点,如系统紧耦合、链路脆弱等问题。核心能力包括事件驱动通信、可靠消息投递(支持至少一次送达)、与SAP生态深度集成(如S/4HANA事件扩展)以及混合环境支持。典型场景包括订单处理、库存同步等,发布方只需发出业务事件,订阅方按需消费,避免系统间直接依赖,符合Clean Core理念。两种关键模式为广播式的Publish/Subscribe和定向的

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 116

POJ 2287贪心算法

题意:田忌赛马故事。 思路:运用学长所教的贪心算法以及模板…… #include #include #include #include using namespace std; int King[1010],Tian[1010]; bool cmp(int a,int b) { return a>b; } inline int VS(int a,int b) { if(a==b

liwei的专栏 938

3️⃣ Coze工作流基础教学(2025年全新版本)

Coze 工作流作为扣子平台的重磅工具,利用可视化节点,如大语言模型、插件、条件判断等,把复杂任务巧妙拆解成多步骤流程。它不仅支持自动化编排,还能实现跨系统协同,有效提升处理效率与输出稳定性。在那些对准确性或格式有严格要求的场景中,比如报告生成、旅行规划,Coze 工作流更是发挥着关键作用。

李同学Lino的博客 5855

poj 2287 田忌赛马

/* 1)当前田忌马比国王的最慢的还慢,则败局+1,并将此马与国王剩余中最快的马比较,因为这样代价最小。同时s指向次快的马。  2)当前田忌马比国王的最慢快,  则胜局+1,e指向次慢的马,这样保留的实力最大。  3)当前田忌和国王的最慢马同速,分别让当前马与最快

成长中的菜鸟 599

在 Eclipse 里快速用上 SAP Joule:ABAP 开发者的 AI 助手上手指南

本文介绍了SAP Joule for developers如何集成在ABAP开发工具中,为开发者提供AI辅助能力。主要内容包括: Joule作为ADT的增强层,直接嵌入开发流程,支持在项目资源管理器、代码编辑器等场景下通过上下文菜单调用AI功能。 核心使用方式:打开Joule视图后,可在开发对象、代码片段等上下文中使用自然语言交互,请求解释、生成测试或获取示例代码。 重点功能: Explain:解释现有代码逻辑,降低理解成本 ABAP Unit测试生成:快速创建与上下文相关的测试用例 支持在传输管理器等完整

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 396

6、SAP HANA 建模全解析

本文全面解析了 SAP HANA 建模的核心内容,包括属性视图、分析视图和计算视图的创建与使用。文章详细介绍了建模工具的安装、不同视图类型的适用场景及操作步骤,并通过对比和案例分析帮助读者更好地理解建模流程。此外,还涵盖了建模过程中的注意事项及性能优化建议,为 SAP HANA 用户提供实用的建模指导。

juice的博客 203

POJ 2287 田忌赛马(贪心)

文章目录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大的且最弱的马,赢,保存实力更高的马 若均无...

Michael是个半路程序员 1334

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

jks212454的博客 625

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

田忌赛马 题目详见http://poj.org/problem?id=2287 田忌赛马大家都听过,可是如果不是上中下等三种马,而是很多种马,就不仅仅是321的问题了。 这个很明显就是贪心算法,贪心算法的宗旨就是一个字------贪!有最小的代价换取最大的利益,我们都很喜欢。田忌当年请教孙膑的时候,孙膑对田忌说:“现在用您的下等马对付他们的上等马,拿您的中等马对付他们的下等马,拿您的上等

承续缘的信仰 9083

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

百炼OJ算法刷题:贪心算法错题本Vol.5-2287:田忌赛马

POJ 2287 田忌赛马。题目很短,故事很熟,样例很简单。但我第一次做的时候,完全不知道从何下手。这篇文章记录了我从“绝望”到“AC”的全过程,希望能帮你少走我走过的弯路。算法不是“想出来”的,是“学出来”的。我第一次见到这种策略时,也是一头雾水。但通过:理解四个指针的含义手动模拟几个例子反复看代码、写代码最终,它变成了我工具箱里的一把利器。如果你现在也感到绝望,没关系,这说明你在爬坡。爬过去,视野就开阔了。

RNGYYDS111的博客 600

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

贪心算法:田忌赛马-HDU1052 & POJ2287 & ZOJ2397

  Tian Ji -- The Horse Racing Time Limit: 5 Seconds      Memory Limit: 32768 KB   Here is a famous story in Chinese history. "That was about 2300 years ago. General Tian Ji was a high official in...

优快云 6180

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

poj2287-田忌赛马贪心

/* 贪心策略: 1,如果田忌的最快马快于齐王的最快马,则两者比。 (因为若是田忌的别的马很可能就赢不了了,所以两者比) 2,如果田忌的最快马慢于齐王的最快马,则用田忌的最慢马和齐王的最快马比。 (由于所有的马都赢不了齐王的最快马,所以用损失最小的,拿最慢的和他比) 3,若相等,则比较田忌的最慢马和齐王的最慢马 3.1,若田忌最慢马快于齐王最慢马,两者比。 (田忌的最慢马既然能赢一

zhang20072844的专栏 3602

POJ 2287 田忌赛马

Tian Ji -- The Horse Racing Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 17699 Accepted: 5461 Description Here is a famous story in Chinese history. ...

weixin_38168173的博客 249

POJ 2287 田忌赛马 贪心算法

田忌赛马,大致题意是田忌和国王赛马,赢一局得200元,输一局输掉200元,平局则财产不动。 先输入一个整数N,接下来一行是田忌的N匹马,下一行是国王的N匹马。当N为0时结束。 此题为贪心算法解答,有两种思路。 思路二: 1、开始也是先排序,可以使用sort快排; 2、然后将田忌最大的马与国王进行比较; 3、如果田忌最大的马大于国王,那么就胜场++; 4、如果田忌最大的马小于国王,那么...

weixin_34349320的博客 460

poj2287 田忌赛马

贪心1.田最慢的马和齐最慢的马比,赢则+12.田最快的马和齐最快的马比,赢则+13.用田最慢的马和齐最快的马比,输则-1。注意:打平的情况最后在判断田最快=齐最快,田最慢=齐最慢的情况时想当然的打平了。实际上我按第三种情况处理,所以必须把田最慢和齐最快比一下#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;stdlib....

u012669479的博客 264

poj 2287 贪心(田忌赛马)

题意:田忌赛马。每匹马给定一个能力值,赢一场赢200元,输一场输200元,平局钱数不变。问收益最大。 思路(http://blog.youkuaiyun.com/zhang20072844/article/details/8126344):贪心策略:1,如果田忌的最快马快于齐王的最快马,则两者比。 (因为若是田忌的别的马很可能就赢不了了,所以两者比) 2,如果田忌的最快马慢于齐王的最快马,则用田忌的最慢

dearmango 600

POJ2287 Tian Ji -- The Horse Racing

题目 POJ2287 思路 全网建议看这篇,看懂了再去看其他的就明白为啥这么说了。。。 田忌赛马(贪心) - Nothing9826的博客 - 优快云博客 代码 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define ll long...

weixin_30505751的博客 182

poj2287田忌赛马

首先明确田忌每次出马不是最快就是最慢,dp[i][j]为田忌第i到第j匹马和齐王比赛的结果,dp[i][j]=max(dp[i+1][j]+judge(i,k),dp[i][j-1]+judge(j,k)),枚举齐王出了前k匹马。 #include #include #include #include using namespace std; int dp[1002][1002],t

blog 469
上一篇: 算法题目——质量(POJ-1862)
下一篇: 算法题目——岛屿问题(POJ-1328)
943802606
博客等级 码龄6年 1万+粉丝 177原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值