专题一 · 1002
来源:互联网 发布:网络销售营业执照查询 编辑:程序博客网 时间:2024/06/05 09:06
代码及解释
#include <iostream>#include <vector>#include <algorithm>//田忌赛马是一道比较迷的题,//感觉很恶心,//这道题花了很长时间去做。////第一次://排序,计算齐王的最小值在田忌的 lower_bound//排序,计算田忌的最大值在齐王的 upper_bound////WA了////第二次://排序,从田忌的最大值开始,一个一个的取出来,//和齐王的最大值比较,大于就计数,小于就放回////WA了//////然后又尝试了两次,终于A了 =。=int main() { int ans; int n; while (1){ ans = 0; std::cin >> n; if(!n) break; std::vector<int> qi(n); std::vector<int> tian(n); for (int i = 0; i < n; i++) std::cin >> tian[i]; for (int i = 0; i < n; i++) std::cin >> qi[i]; std::sort(tian.begin(), tian.end()); std::sort(qi.begin(), qi.end()); /*之前的就是输入,排序*/ //h 是慢的马 //t 是快的马 //t 是田忌马的编号 //q 是齐王马的编号 //最大值在后面,倒顺序遍历 int hq = 0, tq = n - 1, ht = 0, tt = n - 1; while (hq <= tq && ht <= tt) //田忌最快的比齐王的快 if(tian[tt] > qi[tq]){ ans += 200; tt--, tq--; //田忌最快的比齐王最快的慢 }else if (tian[tt] < qi[tq]) { ans -= 200; ht++, tq--; //田忌最快的和齐王最快的一样快 //而且 田忌最慢的比齐王最快的快 }else if (tian[ht] > qi[hq]) { ans += 200; ht++, hq++; //田忌最快的和齐王最快的一样快 }else { 田忌最慢的比齐王最快的慢 if (tian[ht] < qi[tq]) ans -= 200; //其他 ht++, tq--; } std::cout << ans << endl; } return 0;}
0 0
- 专题一 · 1002
- 专题一 · 1006
- 专题一 · 1000
- 专题一 · 1005
- 专题一 · 1004
- 专题四 · 1002
- 3G专题一
- 专题一:计算机系统基础知识
- LDAP专题(一)
- 专题一:文件读写
- IPV6专题(一)
- 黑客 专题一 常用工具
- 单链表专题一
- 理解Volley专题<一>
- OJ专题(一)
- Node 专题一: 起源
- Http 专题一:概述
- Mysql专题一 : 引擎
- 第六周上机实践项目——项目1-分数类的雏形
- Linux内核分析(六)
- 比较实验
- STM8S103 LCD5110例程带字库
- HDU 4123 Bob’s Race(树形DP,rmq)
- 专题一 · 1002
- Python之re模块 —— 正则表达式操作
- css margin重叠
- 多线程笔试面试概念问答
- linux c system函数执行命令的返回值
- Unicode&UTF-8的区别
- Linux内核协议栈(附4) accept得到新的socket的本端端口号是什么?
- 第5周项目1 三角形雏形
- 操作系统思维导图