HDOJ_1052
Posted phalq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDOJ_1052相关的知识,希望对你有一定的参考价值。
思路;
如果田最快大于王最快,则count++;
如果田最快小于王最慢,则用田最慢比掉王最快,count--;
如果田最快等于王最快,则比较田最慢与王最慢
如果田最慢大于王最慢则count++;
如果田最慢小于网最慢则count--;
如果田最慢等于王最慢,则有两种情况:
第一种:田的最慢等于王的最快;这时不对count 进行操作;
第二种情况:田的最慢小于王的最快;此时用田最慢抵掉王最快的吗,count--;
AC代码:
#include <iostream> #include <algorithm> #define Max 1001 using namespace std; bool hanshu(int a,int b) { return a>b; } int main(void) { freopen("in.txt","r",stdin); int n,T[Max],K[Max]; while(cin>>n&&n) { int i,j,a,b,count=0; for(i=0;i<n;i++) cin>>T[i]; for(i=0;i<n;i++) cin>>K[i]; sort(T,T+n,hanshu); sort(K,K+n,hanshu); for(i=0,j=0,a=n-1,b=n-1;i<=a;) { if(T[i]>K[j]) { count++; i++; j++; } else if(T[i]<K[j]) { count--; a--; j++; } else if(T[i]==K[j]&&T[a]>K[b]) { count++; a--; b--; } else if(T[a]<K[b]) { count--; a--; j++; } else if(T[a]<K[j]) { count--; a--; j++; } else { i++; j++; a--; b--; } } cout<<count*200<<endl; } fclose(stdin); return 0; }
以上是关于HDOJ_1052的主要内容,如果未能解决你的问题,请参考以下文章
ACM--田忌赛马--贪心--HDOJ 1052--Tian Ji -- The Horse Racing