田忌赛马

题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=1052

题目描述:对于英语战五渣的我表示看起来很吃力,不过大概的意思就是两队人各有一组马

每个马都有一个权值(速度),每次各挑一匹来比赛,求最大的胜出利益

解题思路:其实这属于变相的贪心问题,唯一的差别就是 贪心往往 走一步看一步直到走完,也就是从开始到结束一条线

而本题我们把马排序当成一个序列,采取最优配对方案,可能是头(最快),也可能是尾(最慢),从一根筋升级成为两头堵~!2333

配对方案就是:

如果我方最快的马比对方最快的马快:我方最快的马与对方最快的马比

如果我方最快的马没有对方最快的马快:我方最慢的马与对方最快的马比

这两种情况的解决方案比较明显,重点是持平该如何处理

举个例子  最快的马持平,如果保持持平,下一组可能也会持平,那么就会一直平下去。如果采取最次的马输一次,那么就可以保证后续一直处于赢的状态

但是假设每组就剩两匹马,最次的马可以胜过对方最次的马,那么我采取刚才所说的方案结果就是各赢一次,其实我是可以1平1胜的。

所以当最快的马相比处于持平的状态时,要循环着考虑末端的马,如果末端的马不大于对方的马,那么反正也是得输一次(或者平),还不如消耗对方最快的马

如果最慢的马大于对方最慢的马,那就先赢一次再说,发挥其最大的价值。

也就是这道题想比贪心,要从两方面考虑。既要考虑最快马的利用价值,也要考虑最慢的马的利用价值。

#include<stdio.h>
int main()
{int tj;
int t[1001],g[1001];
int h,i,j,k,n,m,temp,dj,dk,ddj,ddk;while(scanf("%d",&n)&&n){tj=0;for(i=1;i<=n;i++)scanf("%d",&t[i]);for(i=1;i<=n;i++)scanf("%d",&g[i]);
//===========================================for(i=1;i<n;i++)for(j=1;j<n-i+1;j++){if(t[j]<t[j+1]){temp=t[j];t[j]=t[j+1];t[j+1]=temp;}if(g[j]<g[j+1]){temp=g[j];g[j]=g[j+1];g[j+1]=temp;}}
//===========================================k=j=1;
m=n;
for(i=1;i<=n;i++)
{if(t[j]<g[k]){m--;k++;tj-=200;}else if(t[j]>g[k]){j++;k++;tj+=200;}else{while(t[m]>g[n]){tj+=200;m--;n--;}if(t[m]==g[k])break;else{tj-=200;m--;k++;}}
}

有意思的逻辑思维题(二)(hdu1052)相关推荐

  1. 有意思的逻辑思维题(三)(hdu2211,蓝桥杯蚂蚁感冒)

    杀人游戏 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2211 题目描述: 现在已知有N个土匪站在一排,每个土匪都有一个编号,从1到N,每次杀人时给 ...

  2. 有意思的逻辑思维题(一)(hdu2018,2160,2053)

    母猪的故事 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2018 题目描述: 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年 ...

  3. 逻辑思维题及答案解析

    逻辑思维题及答案解析 转载:https://blog.csdn.net/DX_Jone/article/details/102744632 1.假设有一个池塘,池塘里有无穷多的水.现有两个空水壶,容积 ...

  4. 75道逻辑思维题 (转)

    75道逻辑思维题-------会作10道智商就是正常,会作30道就不是凡人,会作60道就是高智商稀有人才了! 2010-02-03 17:08 | (分类:竹马的世界) [1]假设有一个池塘,里面有无 ...

  5. [剑指offer]面试题第[68-1]题[Leedcode][JAVA][第235题][二叉搜索树的最近公共祖先][递归][BFS]

    [问题描述][第235题][二叉搜索树的最近公共祖先][简单] 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先.百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p. ...

  6. 二级c语言上机程序填空,浙江省计算机二级c语言上机考试真题(二)程序填空

    浙江省计算机二级c语言上机考试真题 (二)程序填空 1,求最大公约数 ,下面程序中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行.减行.加句. ...

  7. 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)

    原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解) 这里分享三道编程题, 下面是我个人的视频讲解 二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ ...

  8. 图形的逻辑思维题分类以及思路

    关于图形的逻辑思维题其实通俗来讲就是找规律,大致分以下六种: 1.图形的边数(图形内边数,图形边数,图形和旁边图形的关系) 例题: 2.图形的旋转角度(两个图形一起转,两个图形各转各的,顺时针,逆时针 ...

  9. hankerrank 刷题二( Python 基础)

    1. 题一: Merge the Tools. 给出一个string, 和整数k. 把string等分成k个substring, (string长度是k的倍数), 输出每个substring但subs ...

最新文章

  1. 解决centos下tomcat启动太慢 JDBC连接oracle太慢的问题
  2. Linux 支持显卡sli么,AMD Vega20专业卡将支持XGMI总线交火
  3. linux安装软件不同用户名密码,Linux的安装和基本命令
  4. 【用故事解读 MobX源码(一)】 autorun
  5. 文巾解题 620. 有趣的电影
  6. 关键字搜索 c语言,c语言-以关键字搜索程序
  7. c++判断整数翻转溢出_LeetCode7.整数反转(Reverse Integer)
  8. mysql aes_MYSQL AES加密与解密函数使用
  9. Unity3d烘焙常见黑斑解决方法(适用5.x、2017、2018、2019版)
  10. canvas 实现图片局部模糊_Canvas模糊化处理图片、毛玻璃处理图片之stackblur.js
  11. python 库 全局变量_python局部变量和全局变量global
  12. Centos php5.3.3 升级 5.5.26 mysql5.1.73 升级 5.6.25
  13. SpringBoot之Interceptor拦截器注入使用
  14. android 4实例分析,OpenGL Shader实例分析(4)闪光效果
  15. “移”网打尽:网络即服务
  16. 等保2.0.第十章.等保2.0三级解决方案(上)
  17. 没有会员wps合并多个sheet_WPS隐藏黑科技:合并工作簿再也不用复杂操作了,一键就搞定!...
  18. android 解析rss,在Android中解析RSS源
  19. Android开机速度优化简单回顾
  20. ui设计和平面设计有什么区别-庞姿姿

热门文章

  1. linux5.5救援模式,RHEL5救援模式简介RescueModeinRHEL5.PDF
  2. python使用如下方法规范化数组_python归一化多维数组的方法
  3. Github简单使用
  4. python处理一个文件夹下的所有文件并保存在新的文件夹
  5. async js 返回值_获取JavaScript异步函数的返回值
  6. 团队协作新趋势:语雀——助力更多:个人、企业、博客、协作、托管、画布设计、资源托管(立体化趋势)
  7. linux目标机无法连接到网络,linux 安装了xunsearch服务,但是PHP连接显示:目标计算机积极拒绝...
  8. 软件系统中的颗粒度_意式浓缩咖啡丨甘醇香浓余韵长,研磨的度与质千万别忽视...
  9. wordpress常用插件打包 百度搜索推送插件+sitemap生成等
  10. video js 全屏时,遇到18:9的长屏幕时,画面被切割