Tian Ji -- The Horse Racing

田忌赛马,还是English,要不是看题目,我都被原题整懵了,直接上Chinese吧

Descriptions:

田忌和齐王赛马,他们各有n匹马,依次派出一匹马比赛,赢了加200,输了减200,平局不加钱,问如何安排马的出场顺序,使得田忌赢的钱最多

Input

输入最多包含 50 组测试数据。对于每组测试数据,第一行包括一个正整数 n (n ≤ 1000),表示每一方的马的数目。第二行中的 n 个整数,表示田忌的马的速度。第三行中的 n 个整数,表示齐王的马的速度。在最后一组测试数据之后,是只包含单个 0 的一行。

Output

对于每组测试数据,输出包含单个数的一行,表示田忌将从齐王那里赢得银两的最大值。

Sample Input

3
92 83 71
95 87 74
2
20 20
20 20
2
20 19
22 18
0

Sample Output

200
0
0

题目链接:

https://vjudge.net/problem/OpenJ_Bailian-2287

题解都在代码上

AC代码

#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#include <sstream>
#define mod 1000000007
#define eps 1e-6
#define ll long long
#define INF 0x3f3f3f3f
#define ME0(x) memset(x,0,sizeof(x))
using namespace std;
int n;
int a[];
int b[];
int main()
{
while(cin>>n,n)
{
ME0(a);
ME0(b);
int sum=;
for(int i=; i<n; i++)
cin>>a[i];//田忌的马
for(int i=; i<n; i++)
cin>> b[i];//齐王的马
sort(a,a+n);//排序
sort(b,b+n);
int l1=;
int l2=;
int r1=n-;
int r2=n-;
while(l1<=r1)
{
//田忌最快的马比齐王最快的马快,则两者比
if(a[r1]>b[r2])
{
sum+=;
--r1;
--r2;
}
//田忌最快的马比齐王最快的马慢,则用田忌最慢的马和齐王最快的马比
if(a[r1]<b[r2])
{
sum-=;
++l1;
--r2;
}
//速度相等
if(a[r1]==b[r2])
{
//田忌最慢的马比齐王最慢的马快,则这两匹马比
if(a[l1]>b[l2])
{
sum+=;
++l1;
++l2;
}//否则,用田忌最慢的马和齐王最快的马比
else
{
if(a[l1]<b[r2])//田忌最慢的马比齐王最快的马快
sum-=;//加200
++l1;//否则平局
--r2;
}
}
}
cout<<sum<<endl;
}
}

 

【OpenJ_Bailian - 2287】Tian Ji -- The Horse Racing (贪心)的更多相关文章

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

    Tian Ji -- The Horse Racing Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 17662   Acc ...

  2. hdu_1052 Tian Ji -- The Horse Racing 贪心

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

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

    题意:田忌和齐王有n匹马,进行n局比赛,每局比赛输者给胜者200,问田忌最多能得多少钱. 分析:如果田忌最下等的马比齐王最下等的马好,是没必要拿最下等的马和齐王最好的马比的.(最上等马同理) 因此,如 ...

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

    /* * POJ_2287.cpp * * Created on: 2013年10月9日 * Author: Administrator */ #include <iostream> #i ...

  5. HDU 1052 Tian Ji -- The Horse Racing(贪心)

    题目来源:1052 题目分析:题目说的权值匹配算法,有点误导作用,这道题实际是用贪心来做的. 主要就是规则的设定: 1.田忌最慢的马比国王最慢的马快,就赢一场 2.如果田忌最慢的马比国王最慢的马慢,就 ...

  6. UVaLive 3266 Tian Ji -- The Horse Racing (贪心)

    题意:田忌赛马,每胜一局就得200,负一局少200,问最多得多少钱. 析:贪心,如果最快的马比齐王的还快,就干掉它,如果最慢的马比齐王的马快,就干掉它,否则用最慢的马去和齐王最快的马比. 代码如下: ...

  7. HDU-1052 Tian Ji -- The Horse Racing 贪心 考虑特殊位置(首尾元素)的讨论

    题目链接:https://cn.vjudge.net/problem/HDU-1052 题意 田忌赛马问题扩展版 给n匹马,马的能力可以相同 问得分最大多少 思路 贪心做得还是太少,一开始一点思虑都没 ...

  8. UVa LA 3266 - Tian Ji -- The Horse Racing 贪心,不只处理一端,也处理另一端以理清局面 难度: 2

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  9. 【贪心】[hdu1052]Tian Ji -- The Horse Racing(田忌赛马)[c++]

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...

随机推荐

  1. maven的基本原理和使用

    一.Maven中央存储库 当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如 ...

  2. Eclipse中同时打开多个Console

    实现方法: 1.点击Open Console案例下拉三角,选择New Console View. 2.点击Pin Console按钮將两个控制台同时固定住. 3.点击Display Selected ...

  3. intelliJ IDEA springMVC 搭建配置

    1.添加参数 archetypeCatalog=internal

  4. spawn类参数command详解

    我们主要来看spawn类它的构造方法参数主要有command,从字面上就是指spawn类的子程序用来执行的子程序,也就是系统所能够执行的相应的命令,对于command这个参数,我们是以字符串的方式给出 ...

  5. spring4.2更好的应用事件

    1.基于注解驱动事件监听器:现在可以在一个Bean的方法上使用@EventListener注解来自动注册一个ApplicationListener来匹配方法签名. @Component public ...

  6. kernel中对文件的读写【学习笔记】【原创】

    /*1. 头文件 */ #include <linux/init.h> #include <linux/module.h> #include <linux/modulep ...

  7. Window 64位下的客户机配置PLSQL链接远程Oracle

    此文章记录的是艰难探索. 完成如下工作: 服务器A为Windows Serve 2016:安装Oracle. 客户机B为Win7 x64位,安装PLSQLDevelop,链接A上的Oracle. 首先 ...

  8. php封装数据库mysql, mysqli

    <?php header("content-type:text/html;charset=utf-8"); class db{    //私有的静态属性    private ...

  9. 004-画图神器-graphviz

    1 安装及基本使用 1) 下载安装 下载地址 可以下载安装版进行安装或者解压版直接使用 2) 添加系统path 为了能够在dos中使用命令, 需要添加环境变量 默认安装路径为 C:\Program F ...

  10. C# 获取QQ好友列表信息的实现

    分析部分 当我们访问QQ空间的时候,大家可以在右侧的发现一个这样的统计信息  当点击这个链接的时候,会跳转到  这样一个URL 这个URl可以管理好友,当然也就能读取到好友  上面我们是在浏览器中的操 ...