【hdoj1052】Tian Ji -- The Horse Racing(贪心)

Greedy——HDOJ 1052 HDOJ1052田忌赛马题目描述 这道题是一道以田忌赛马为背景的题目,题目中有说道可以用二分匹配来做,可惜俺只知道二分图,不知道什么是二分匹配,所以就用贪心来做咯,这道题是一道挺好的贪心题目。 下面直接看代码,分析都在代码里面 /* HDOJ1052 田忌赛马 先将田忌和齐王的马都按速度降序排序,然后开始比 贪心:要赢就要以最小的差距赢,输就要以最大的差距去输,就是要用对自己的影响最小的 阅读详情

                                              田忌赛马

大致意思:

田忌与齐王赛马,每回合输者给赢者200银元,试编出程序,使田忌赢的钱尽可能多。

输入:

每组数的第一行为比赛的马的个数(<=100)第二行为田忌的马的速度,第三行为齐王的马的速度。

输出:

田忌赢得的钱数

 

思路:

1、田忌的当前最快的马(速度)>齐王当前最快的马:

   直接比,能赢干嘛不赢呀。

2、田忌的当前最快的马<齐王当前最快的马:

   田忌最慢的马跟齐王最快的马。

3、田忌的当前最快的马=齐王当前最快的马:

      1 田忌当前最慢的马>齐王当前最慢的马:

                两个最慢的马比。

     2田忌当前最慢的马<齐王当前最慢的马:

                用田忌最慢的马跟齐王最快的马比。

     3田忌当前最慢的马=齐王当前最慢的马:

                1 、田忌当前最慢马=齐王当前最快马:

                      说明他们剩下的等数量的马都一样快,退出循环。

               2、  否则用田忌的慢马与齐王的快马比。

<程序中的if else 就是按这个顺序来的:)>


——————————————————————欢迎高人指正我不足的地方,欢迎各位同僚咱一起讨论————————————

#include<stdio.h>
#include<stdlib.h>

int a[1001]={0};//田忌的马
int b[1001]={0};//齐王的马

int comparator(const void *elem1,const void *elem2)
{
    return *(int *)elem2-*(int *)elem1;
}

void main()
{
   int n,th,ts,qh,qs,win;//th:田的快马,即序列头指针ts:田的慢马即序列尾指针,另外两个为齐的
   while(scanf("%d",&n)&&n)
   {
      for(int i=0;i<n;i++)
		  scanf("%d",&a[i]);
	  for(i=0;i<n;i++)
		  scanf("%d",&b[i]);
	  qsort(a,n,sizeof(int),comparator);
	  qsort(b,n,sizeof(int),comparator);//快排
	  th=qh=win=0;
	  ts=qs=n-1;
	  while(th<=ts)//当田所有的马遍历一遍时,退出循环。
	  {
		  if(a[th]>b[qh])
		  {
		      th++;
			  qh++;
			  win++;
		  }
		  else if(a[th]<b[qh])
		  {
		      ts--;
			  qh++;
			  win--;
		  }
		  else
		  {
			  if(a[ts]>b[qs])
			  {
			      ts--;
				  qs--;
				  win++;
			  }
			  else if(a[ts]<b[qs])
			  {
			      ts--;
				  qh++;
				  win--;
			  }
			  else
			  {
			     if(a[th]==b[qs])
					 break;
				 else
				 {
				    ts--;
					qh++;
					win--;
				 }
			  }
		  }//else
	  }//while
	  printf("%d\n",win*200);
   }
   
}


衡山派Luban-Lite系统SDIO无线网络配置实战:以D133CBV-QFN88开发板与RTL8189模组为例 本文详细介绍了在衡山派D133CBV-QFN88开发板上,为Luban-Lite系统配置SDIO无线网络的完整实战流程。通过配置SDMC接口、RTL8189 Wi-Fi驱动、lwIP协议栈及内核参数,并解决编译分区问题,最终实现Wi-Fi网络连接与测试,为嵌入式设备联网提供清晰指导。 阅读详情

相关推荐

【Cadence】Virtuoso@LayoutXL 差分电路版图同步修改

对于差分电路,器件和部分走线通常是对称的,只需要画一半,另一半通过镜像操作完成。因此,需要对差分电路进行同步的修改,保证电路的差分对称性和正确的连接关系。然而,通常版图会经过多次修改,修改的部分可能在镜像的时候被遗漏。左边画了金属块,右边也出现了同步出现了金属块。进入group会有同步复制的提示。

乾巽的博客 3050

HDOJ 1052田忌赛马

杭电oj田忌赛马原题链接 题目描述: 思路: 1.将田的最快的马和王的最快的马进行比较,如果田最快的马比王的快则比之 2.如果田最快的马比王的慢,则将田最慢的马与王最快的马比 3。如果田最快的马与王最快的马速度相等 3.1将田最慢的马与王最慢的马进行比较,如果田最慢的马比王最慢的马快,则比之 3.2如果田最慢的马比王最慢的马慢,则田的慢比上王的快 3.3如果田最慢的马与王最慢的马速度相等,则田的慢比上王的快 AC代码: #include <iostream> #include &

qq_51207080的博客 415

9.9元ESP32-C3开发板实战:手把手教你用VSCode搭建RT-Thread最小系统(附避坑指南)

本文提供了一份详尽的实战指南,教你如何在售价仅9.9元的ESP32-C3开发板上,使用VSCode搭建RT-Thread最小系统。内容涵盖从ESP-IDF环境配置、BSP源码获取、内核补丁应用到编译下载与调试的全流程,并重点分享了版本选择、补丁应用等关键避坑技巧,旨在帮助开发者低成本、高效地启动嵌入式实时操作系统开发。

o4p5q6r7s的博客 226

HDOJ-1052 Tian Ji -- The Horse Racing(贪心算法)

题目:HDOJ-1052 题目描述:就是田忌赛马,但是要注意两边存在马速度相同的情况。 分析: (看了各路大佬的题解Orz,自我总结一下) 先排序,这里从快到慢排序; 1.田忌最快马&amp;amp;amp;gt;王最快马(贪心,毫无疑问,进行比赛后获胜) 2.田忌最快马&amp;amp;amp;lt;王最快马(同样的,既然赢不了,用最慢马去消耗掉最快马) 3.田忌最快马=王最快马(要比较两者最慢马,因为没考虑这个WA了很多次…) a.田忌最...

Plus Ultra! 557

用Stata复现经典文献:上市公司全要素生产率(TFP)计算全流程(含LP/OP代码解读)

本文提供了使用Stata软件复现上市公司全要素生产率(TFP)计算的完整实战指南。重点解读了主流的Levinsohn-Petrin(LP)和Olley-Pakes(OP)半参数估计方法,通过详细的数据清洗、变量构建与价格平减步骤,手把手演示了如何准确测算TFP,并强调了LP方法在处理中国上市公司数据时的稳定性和适用性。

b0c1d2的博客 595

Titans:谷歌新型神经记忆架构,突破 Transformer 长序列处理的瓶颈

Titans 是谷歌推出的新型神经网络架构,通过神经长期记忆模块突破 Transformer 在处理长序列数据时的瓶颈,支持并行计算,显著提升训练效率。

士多啤梨先生の博客 991

hdoj 1052

#include<bits/stdc++.h> using namespace std; int cmp(int x,int y) { return x>y; } int main(void) { int n,t[1010],k[1010]; int i,j; while(scanf("%d",&n)) { if(n==0) break; for(i=1;i<=n;i++) { scanf("%d",&t[i]); } for(

rch2020082203的博客 207

STM32F429移植LVGL9.3.0:从源码配置到双缓冲优化实战

本文详细介绍了如何在STM32F429平台上移植LVGL 9.3.0图形库,涵盖从源码准备、工程配置、显示驱动适配到双缓冲优化等关键步骤。重点解析了利用STM32F429的硬件特性实现高效内存管理和流畅显示性能的实战技巧,为嵌入式GUI开发提供完整解决方案。

q6r7s8t9的博客 1135

HDOJ-1052 Tian Ji -- The Horse Racing

:根据题目的描述,问题可以转化为“找到最大权值的完美二分匹配”。但又说:杀鸡焉用宰牛刀。暗示了有更简单的方法。 :个人认为用到了贪心的思想“用最差的马搏最好的马”。 View Code 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #define N...

weixin_34128839的博客 193

手把手教你用CEFSharp打造防关联指纹浏览器(附完整代码)

本文详细介绍了如何基于CEFSharp框架,从零开始构建一个企业级的防关联指纹浏览器。通过剖析核心架构、多进程隔离实现、动态指纹混淆(如Canvas、WebGL)的实战代码,以及代理集成与性能优化,为跨境电商、广告投放等场景提供了一套可控、安全的开源解决方案。

fern8的博客 963

第一章 DRM 子系统概述:1.2 专栏定位与技术覆盖范围

本专栏系统解析Linux内核DRM图形子系统的核心技术,涵盖GEM对象管理、TTM内存机制、DRM-Fence同步等核心模块,深入剖析DMA-BUF共享、DMA_Resv资源管理等关键技术。通过解读内核源码与用户态接口(libdrm),结合进程管理、匿名inode等底层机制,构建完整的DRM知识体系。专栏兼顾深度与易懂性,辅以实际应用场景分析,既适合图形驱动开发新手入门,也可满足资深工程师进阶需求,帮助读者掌握从内核实现到应用开发的全栈知识。

图形/计算GPU的驱动与虚拟化技术分享园地 3029

hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马】 【贪心】

2014-06-10 23:34:23》》思路:先按从小到大排序, 然后从最快的开始比(假设i, j 是最慢的一端, flag1, flag2是最快的一端 ),田的最快的大于king的 则比较,如果等于然后判断,有三种情况: 一:大于则比较,二等于在判断田的最慢的是不是比king的最快的慢,三小于则与king的最快的比较; 代码1:

shengweisong 1543

如何在飞腾平台上安装Ubuntu操作系统

注意: 若主板上配置的是NVME硬盘,在进行内核配置时,需要将内核的NEME驱动勾选上,否则移植内核时,无法找到文件系统,进不去操作系统。可以通过rufus软件将镜像做到U盘中,本次使用版本为Rufus 3.9.124 ,其他版本也可以。不要下载live版本的,没有准备网络环境,是一个头疼的事情,笔者暂时没有实现网络安装。将U盘接到主板usb口上,接上串口,显示器,,必需串口有打印才可以安装。可以通过dd命令,将iso安装到U盘。安装的是最小系统,缺少很多命令,需要联网更新,或则更换飞腾专用内核。

技术联盟 2645

hdoj 1052 Tian Ji -- The Horse Racing 贪心算法

这道题就是解决选择策略问题。思路一:先将田忌跟齐王的马的速度数组进行一次冒泡排序1、如果田忌最慢的马比齐王最慢的马快,则比慢马2、如果田忌最慢的马比齐王最慢的马慢,则用田最慢的马跟齐最快的马比 //消耗齐的快马这是贪心的第一步3、如果田忌最慢的马的速度与齐威王最慢的马速度相等 3.1、如果田忌最快马的比齐威王最快的快,则比快马 //这是贪心的第二步 3.2、如果田忌最快马比齐威王最快的慢,田忌慢VS齐王快 3.3、如果田忌最快马比齐威王最快

liuliuhelingdao的博客 511

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VB摄像头监控

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

ACM--田忌赛马--贪心--HDOJ 1052--Tian Ji -- The Horse Racing

HDOJ题目地址:传送门 Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 25520    Accepted Submission(s): 7506

戎码人生 4886

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

HDOJ 1052 Tian Ji -- The Horse Racing(贪心)

 Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 23195    Accepted Submission(s): 6780 Problem Descript

Chunzhen的博客 1434

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

hdoj 1052Tian Ji -- The Horse Racing 【贪心】

Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 22661    Accepted Submission(s): 6630 Problem Description

平平淡淡才是真 593

hdoj.1052 Tian Ji -- The Horse Racing【贪心】 2015/04/20

Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 20637    Accepted Submission(s): 6047 Problem Descriptio

>>--» 唯n1.情缘«--<< 256

HDOJ 1052 Tian Ji -- The Horse Racing 贪心

田忌要以最小的代价赢和输 对田忌和齐王的马从小到大各自排序,然后以田忌的马从两边对齐王的扫描,如果小的能赢,就赢,如果不能赢,就比两方最大的马,如果能赢则赢,如果也不能赢 就用最小的和齐王最大的比掉,注意这里不管是否存在平局都保证了最优选择; #include"stdio.h" #include"algorithm" using namespace std; #define F(i,n) f

Kizuki 948

hdoj1052 Tian Ji -- The Horse Racing(贪心算法+2)

田忌赛马,关键在于比较的次序。 首先先比较两个人最慢的马,如果田忌的马快就直接赢下一分,count++ 如果慢的话就用这匹慢马去与大王最快的马比赛,count-- 如果相等的话,再比较两个人最快的马,如果田忌的马更快,count-- 反之就用田忌的慢马去消耗大王这匹快马,count-- 如果仍相等,最后用田忌最慢的马与大王最快的马比较,这时因为大王和田忌最快的马是一样快的, 所以这时只

CqZtw的博客 1224

贪心法田忌赛马问题Java代码,hdoj 1052 Tian Ji - The Horse Racing【田忌赛马】 【贪心】...

hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马】 【贪心】思路:先按从小到大排序, 然后从最快的开始比(假设i, j 是最慢的一端, flag1, flag2是最快的一端 ),田的最快的大于king的 则比较,如果等于然后判断,有三种情况:一:大于则比较,二等于在判断田的最慢的是不是比king的最快的慢,三小于则与king的最快的比较;Tian Ji -- T...

weixin_35583709的博客 465

HDOJ题目1052Tian Ji -- The Horse Racing(贪心)

Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 18126    Accepted Submission(s): 5267 Problem Description H

Jogging_Clown 646

HDOJ--1052Tian Ji -- The Horse Racing 贪心!!!

ProblemDescription Here is a famous story in Chinese history. "That was about 2300 years ago. General Tian Ji was a high official in thecountry Qi. He likes to play horse racing with the king and

y_Cnew的博客 345

hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马,贪心】

Tian Ji -- The Horse Racing【田忌赛马】 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 22498    Accepted Submission(s): 6574 (田忌赛马的故事应该都知

nailnehc的博客 841

hdoj 1052Tian Ji -- The Horse Racing【贪心算法】

Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 24829    Accepted Submission(s): 7236 Problem Description

dxx_111的博客 603
上一篇: 【hdoj1002】 A + B Problem II(模拟加法)
下一篇: 【hdoj1171】Big Event in HDU(01背包)
PrincessLin
博客等级 码龄14年 26粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值