uvalive 3266 - Tian Ji -- The Horse Racing(贪心)
2017-11-07 20:02
429 查看
题意:田忌要和国王赛马,双方各有n只马,赢一场得200,输一场,失200,平局不给钱;问怎么安排田忌赚最多;
思路:排序后,将国王的马从大到小找到a中匹配的马,用set和二分搞定这个步骤,然后得到最多的胜场数,然后将未匹配的a和b中的马倒序匹配。就是答案了。
思路:排序后,将国王的马从大到小找到a中匹配的马,用set和二分搞定这个步骤,然后得到最多的胜场数,然后将未匹配的a和b中的马倒序匹配。就是答案了。
#include <bits/stdc++.h> using namespace std; const int maxn = 1000 + 5; int a[maxn], b[maxn], visa[maxn], visb[maxn]; multiset<pair<int,int>>s; int main() { int n; while(~scanf("%d", &n)) { if(n == 0) break; s.clear(); for(int i = 0; i < n; i++) scanf("%d", &a[i]), visa[i] = 0; for(int i = 0; i < n; i++) scanf("%d", &b[i]), visb[i] = 0; sort(a, a + n); sort(b, b + n); for(int i = 0; i < n; i++) s.insert({a[i], i}); int win = 0; for(int i = n - 1; i >= 0; i--) { multiset<pair<int, int>>::iterator it = s.lower_bound({b[i] + 1, 0}); if(it != s.end()) { visa[it->second] = visb[i] = 1; s.erase(it); win++; } } int p = n - 1, lose = 0; for(int i = 0; i < n; i++) { if(visa[i] == 1) continue; while(p >= 0 && visb[p] == 1) p--; if(p < 0) break; if(a[i] < b[p]) lose++; p--; } printf("%d\n", 200 * (win - lose)); } return 0; }
相关文章推荐
- LA 3266 || UVALive 3266 Tian Ji -- The Horse Racing 田忌赛马(贪心)
- UVALive - 3266 Tian Ji -- The Horse Racing 贪心
- UVaLive 3266 Tian Ji -- The Horse Racing (贪心)
- UVALive 3266 Tian Ji -- The Horse Racing
- UVA 1344 / UVALive 3266 / POJ 2287 / HDU 1052 Tian Ji -- The Horse Racing
- UVALive - 3266 Tian Ji -- The Horse Racing
- UVa 3266 Tian Ji -- The Horse Racing
- LA 3266 Tian Ji -- The Horse Racing 田忌赛马 【贪心】
- LA 3266 Tian Ji -- The Horse Racing (贪心 || DP)
- UVa 1344 - Tian Ji -- The Horse Racing(贪心)
- uva 1344 - Tian Ji -- The Horse Racing(贪心)
- UVa 1344 Tian Ji -- The Horse Racing 解题报告(贪心)
- LA 3266 (贪心) Tian Ji -- The Horse Racing
- UVA 1344 - Tian Ji -- The Horse Racing(很好的贪心题)
- UVA 1344 - Tian Ji -- The Horse Racing(贪心)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- HDU 1052 Tian Ji -- The Horse Racing(贪心)
- HDU1052 Tian Ji -- The Horse Racing(贪心)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- hdoj 1052 Tian Ji -- The Horse Racing(第一次接触贪心)