hdu 1052 贪心
来源:互联网 发布:电脑有些什么软件 编辑:程序博客网 时间:2024/05/19 05:38
方法来自:http://www.cnblogs.com/Action-/archive/2012/07/03/2574744.html
1.当田忌最慢的马比齐王最慢的马快,赢一场先。因为始终要赢齐王最慢的马,不如用最没用的马来赢它。
2.当田忌最慢的马比齐王最慢的马慢,和齐王最快的马比,输一场。因为田忌最慢的马始终要输的,不如用它来消耗齐王最有用的马。
3.当田忌最慢的和齐王最慢的马慢相等时,分4和5讨论。
4.当田忌最快的马比齐王最快的马快时,赢一场先。因为最快的马的用途就是来赢别人快的马,别人慢的马什么马都能赢。
5.当田忌最快的马比齐王最快的马慢时,拿最慢的马和齐王最快的马比,输一场,因为反正要输一场,不如拿最没用的马输。
6.当田忌最快的马和齐王最快的马相等时,这就要展开讨论了,贪心方法是,拿最慢的马来和齐王最快的马比.
AC代码如下:
#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>using namespace std;int cmp( const void* a, const void* b ){return *(int*)b - *(int*)a;}int main(){int a[1001], b[1001];int a1, a2, b1, b2;int N;while( scanf( "%d", &N ), N ){for( int i = 0; i < N; i++ ){cin >> b[i];}for( int i = 0; i < N; i++ ){cin >> a[i];}qsort( a, N, sizeof( int ), cmp );qsort( b, N, sizeof( int ), cmp );int ans = 0;a1 = b1 = 0;a2 = b2 = N - 1;for( int i = 0; i < N; i++ ){if( b[b2] > a[a2] ){ans += 200;b2--;a2--;}else if( b[b2] < a[a2] ){ans -= 200;a1++;b2--;}else{if( b[b1] < a[a1] ){b2--;a1++;ans -= 200;}else if( b[b1] > a[a1] ){a1++;b1++;ans += 200;}else{if( b[b2] > a[a1] ){ans += 200;a1++;b2--;}else if( b[b2] < a[a1] ){ans -= 200;a1++;b2--;}else{a1++;b2--;}}}}cout << ans << endl;}return 0;}
- hdu 1052贪心算法
- hdu 1052 贪心
- hdu 1052 贪心
- HDU 1052(贪心)
- hdu 1052 贪心
- HDU 1052(贪心)
- 一道贪心题-HDU-1052
- HDU 贪心
- 【贪心】hdu
- hdu 1052 horse racing(贪心算法)
- hdu 1052 田忌赛马(贪心)
- HDU 1052(贪心 田忌赛马)
- HDU 1052 田忌赛马(贪心)
- HDU hdu 1052 Tian Ji -- The Horse Racing 贪心算法
- HDU 2111 Saving HDU(贪心)
- HDU 2111贪心--【Saving HDU】
- HDU 2111 Saving HDU (贪心)
- HDU Saving HDU (贪心)
- 验证手机,电话号码和身份证的正则表达式
- 数据列表分页思想
- 使用struts-tags标签库出错
- 黑马程序员_银行业务调度系统
- java多线程向数据库写入数据
- hdu 1052 贪心
- Linux软连接和硬链接
- 「深入理解计算系统」从Hello World开始
- struct的sizeof
- 数据的导出与导入(数据库)
- CCNA----NAT网络地址转换
- yii CActiveDataProvider可配参数
- How-To Create Multi-res .ico files in Gimp
- 使用python脚本抓取百度fm中的歌曲