【继续找状态做简单题】HDU 1052 Tian Ji -- The Horse Racing

来源:互联网 发布:美工常用的网站 编辑:程序博客网 时间:2024/06/05 13:25

继续找状态,慢慢恢复:点击打开链接

策略证明如下(声明:PPT为转载):





#include <iostream>#include <algorithm>#include <cstring>using namespace std;int tian[1001];int qi[1001];bool cmp(int a,int b){return a>b;}int main(){int horse;while(cin>>horse){int tianbest,tianworst,qibest,qiworst;int counter=0;if(horse==0)break;for(int i=0;i<horse;i++)cin>>tian[i];for(int j=0;j<horse;j++)cin>>qi[j];sort(tian,tian+horse,cmp);sort(qi,qi+horse,cmp);tianbest=0;qibest=0;tianworst=horse-1;qiworst=horse-1;int dui=0;while(dui++<horse){if(tian[tianbest]>qi[qibest]){counter+=200;tianbest++;qibest++;}else if(tian[tianbest]<qi[qibest]){counter-=200;tianworst--;qibest++;}else if(tian[tianbest]==qi[qibest]){if(tian[tianworst]>qi[qiworst]){counter+=200;tianworst--;qiworst--;}    else    {    if(tian[tianworst]<qi[qibest])    {    counter-=200;    }   tianworst--;   qibest++;    }}}cout<<counter<<endl;}return 0;}


0 0