hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马】 【贪心】
2014-06-10 23:45
471 查看
2014-06-10 23:34:23》》思路:先按从小到大排序, 然后从最快的开始比(假设i, j 是最慢的一端, flag1, flag2是最快的一端 ),田的最快的大于king的 则比较,如果等于然后判断,有三种情况:
一:大于则比较,二等于在判断田的最慢的是不是比king的最快的慢,三小于则与king的最快的比较;
代码1:
2014-08-25 23:39:31》》(隔了好久,想起来又做了一遍)思路都差不多,
代码:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1052
一:大于则比较,二等于在判断田的最慢的是不是比king的最快的慢,三小于则与king的最快的比较;
代码1:
#include<stdio.h> #include<algorithm> using std::sort; int cmp( int a, int b ) { if( a < b ) return true; return false; } int main() { int t[1005], k[1005], n, i, j, c; while( scanf( "%d", &n ), n )/*跟nyoj上面的结束条件不一样,其他都一样*/ <span style="white-space:pre"> </span>{ c = 0; for( i = 0; i < n; i ++ ) scanf( "%d", &t[i] ); sort( t, t+n, cmp ); for( i = 0; i < n; i ++ ) scanf( "%d", &k[i] ); sort( k, k + n, cmp ); i= j = 0; int flag1= n-1, flag2 = n-1;//flag1是田的 while( i <= flag1 ) { if( t[flag1] > k[flag2] ) { ++c; --flag1; --flag2; } else if( t[flag1] == k[flag2] ) { if( t[i]>k[j] ) { ++c; ++i; ++j; } else if( t[i] == k[j] ) { if( t[i] < k[flag2] ) --c; //注意这处wa了好几次 ++i; --flag2; } else if( t[i] < k[j] ) { --c; ++i; --flag2; } } else { --c; ++i; --flag2; } } printf( "%d\n", c*200 ); } }
2014-08-25 23:39:31》》(隔了好久,想起来又做了一遍)思路都差不多,
代码:
#include <cstdio> #include <cstring> #include <algorithm> #define M 1005 using namespace std; int t[M], k[M]; int solve(int n){ int ti, kj, tflag, kflag; int win = 0, los = 0; ti = kj = 0; tflag = kflag = n-1; while(ti <= tflag){ if(t[ti] > k[kj]){ ++ti; ++kj; win ++; } else if(t[ti] <= k[kj]){ while(t[tflag] > k[kflag]){ --tflag; -- kflag; ++win; } if(t[tflag] <= k[kflag]){ if(t[ti] < k[kflag]) ++los; ++ti; --kflag; } } } return win-los; } int main(){ int n, i; while(scanf("%d", &n) == 1){ for(i = 0; i < n; i ++){ scanf("%d", &t[i]); } for(i = 0; i < n; i ++){ scanf("%d", &k[i]); } sort(t, t+n); sort(k, k+n); int res = solve(n); printf("%d\n", res*200); } return 0; }
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1052
相关文章推荐
- hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马,贪心】
- hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马,贪心】
- ACM--田忌赛马--贪心--HDOJ 1052--Tian Ji -- The Horse Racing
- hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马】 【贪心】
- ny 364 田忌赛马 && hdu 1052 Tian Ji -- The Horse Racing【贪心】
- hdoj 1052 Tian Ji -- The Horse Racing(第一次接触贪心)
- LA 3266 Tian Ji -- The Horse Racing 田忌赛马 【贪心】
- 【hdoj1052】Tian Ji -- The Horse Racing(贪心)
- HDU1052 Tian Ji -- The Horse Racing 田忌赛马 贪心
- HDOJ 1052 Tian Ji -- The Horse Racing 贪心
- 1052 Tian Ji -- The Horse Racing 田忌赛马 贪心算法
- POJ 2287 && HDU 1052 Tian Ji -- The Horse Racing(贪心)
- hdoj 1052 Tian Ji -- The Horse Racing
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- hdoj 1052-Tian Ji -- The Horse Racing
- HDU 1052 Tian Ji -- The Horse Racing(贪心)(2004 Asia Regional Shanghai)
- hdu 1052 Tian Ji -- The Horse Racing(贪心)
- HDU 1052 Tian Ji -- The Horse Racing(贪心)
- hdu_1052_Tian Ji -- The Horse Racing_贪心