/*poj 2287 題意: 田忌賽馬 如果3匹馬變成1000匹,齊王仍然讓他的馬按從優到劣的順序出賽,田忌可以按任意順序選擇他的賽馬出賽。贏一局,田忌可以得到200兩銀子,輸一局,田忌就要輸掉200兩銀子,平局的話不輸不贏。 請問田忌最多能贏多少銀子? 思路: 貪心; 如果當前最好的馬可以勝齊王最好的馬,那麼讓這兩匹馬比一場; 如果當前最差的馬能勝齊王最差的馬,那麼讓這兩匹馬比一場; 如果上面兩個條件都不滿足,那麼讓當前最差的馬和齊王最好的馬比一場。 */ #include#include #include using namespace std; const int N=1005; int a[N],b[N]; void gao(int n){ int p1=0,p2=0; int q1=n-1,q2=n-1; int ans=0; while(p1<=q1){ if(a[p1]>b[p2]){ ++p1; ++p2; ++ans; } else if(a[q1]>b[q2]){ --q1; --q2; ++ans; } else{ if(a[p1]!=b[q2]) --ans; ++p1; --q2; } } printf(%d ,ans*200); } int main(){ int n; while(scanf(%d,&n) && n){ for(int i=0;i