zoukankan      html  css  js  c++  java
  • LA 3266 田忌赛马

    https://vjudge.net/problem/UVALive-3266

    题意:

    田忌赛马,赢一局得200两银子,输一局赔200两银子,平局不赔不赚,问最多能赚多少银子。

    思路:

    先排序,然后比较两者最快的马,如果田忌的更快,就直接比。如果田忌的慢,先比较最慢的两匹马,如果田忌的快,则先让这两匹最慢的马比,之后继续比较第二慢的马,直到田忌的马慢于齐王的马时,用此时田忌最慢的马和齐王最快的马相比。

     1 #include<iostream>
     2 #include<cstring>
     3 #include<algorithm>
     4 using namespace std;
     5 
     6 const int maxn = 1000 + 5;
     7 
     8 int a[maxn];
     9 int b[maxn];
    10 int n;
    11 
    12 int main()
    13 {
    14     //freopen("D:\txt.txt", "r", stdin);
    15     while (cin >> n && n)
    16     {
    17         for (int i = 0; i < n; i++)
    18             cin >> a[i];
    19         for (int i = 0; i < n; i++)
    20             cin >> b[i];
    21         sort(a, a + n);
    22         sort(b, b + n);
    23         int sum = 0;
    24         int p1 = 0, p2 = n - 1, q1 = 0, q2 = n - 1;
    25         while (n--)
    26         {
    27             if (a[p2]>b[q2])
    28             {
    29                 p2--;
    30                 q2--;
    31                 sum += 200;
    32             }
    33             else if (a[p1] > b[q1])
    34             {
    35                 p1++;
    36                 q1++;
    37                 sum += 200;
    38             } 
    39             else if (a[p1]<b[q2])   //用最慢的和齐王对快的比
    40             {
    41                 p1++;
    42                 q2--;
    43                 sum -= 200;
    44             }
    45             else             //平局的情况
    46             {
    47                 p1++;
    48                 q2--;
    49             }
    50         }
    51         cout << sum << endl;
    52     }
    53 }
  • 相关阅读:
    P1127
    CF274D
    BZOJ1477: 青蛙的约会
    BZOJ2770: YY的Treap
    2017-10-湖南套题2
    BZOJ——2697: 特技飞行
    洛谷——P1621 集合
    2017-10-湖南套题1
    项目包结构初始化
    Maven的pom文件配置
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/6540067.html
Copyright © 2011-2022 走看看