/*
题目大意:田忌和国王赛马,田忌每赢一局可以赢得200元,输了则输200,平局无盈亏。
eg:
3---代表每人有几匹马
92 83 71----田忌的马
95 87 74----国王的马
贪心的策略:
一、当田忌最快的马比国王最快的马快时,用田忌最快的马赢国王最快的马。
二、当田忌最快的马比国王最快的马慢时,用田忌最慢的马输给国王最快的马。
三、当田忌最快的马跟国王最快的马一样快时,分情况。
1、当田忌最慢的马比国王最慢的马快,那么用田忌最慢的马赢国王最慢的马
2、当田忌最慢的马比国王最慢的马慢,那么用田忌最慢的马输给国王最快的马
3、当田忌最慢的马跟国王最慢的马相等的时候,用田忌最慢的马跟国王最快的马比
*/
# include <stdio.h>
int main(void)
{
int num = 0;
int tianJi[10],king[10];
while(scanf("%d", &num) != EOF)
{
getchar(); //吸收回车符。
int sum = 0;
int T = 0,TE = num-1;
int K = 0,KE = num-1;
if(num == 0) break;
for(int i = 0; i < num; i++)
{
scanf("%d", &tianJi[i]);
}
for(int j = 0; j < num; j++)
{
scanf("%d", &king[j]);
}
while(num--)
{
if(tianJi[T] > king[K])
{
T++;
K++;
sum = sum + 200;
}
else if(tianJi[T] < king[K])
{
TE--;
K++;
sum = sum - 200;
}else
{
if(tianJi[TE] > king[KE])
{
TE--;
KE--;
sum = sum + 200;
}else if(tianJi[TE] < king[KE])
{
TE--;
K++;
sum = sum - 200;
}else
{
if(tianJi[TE] > king[K]) //田忌的慢马比国王的快马慢
{
TE--;
K++;
sum = sum - 200;
}else //田忌的慢马和国王的快马一样快,平局
{
TE--;
K++;
}
}
}
}
printf("%d\n", sum);
}
return 0;
}
HDU 1052 Tian Ji -- The Horse Racing
最新推荐文章于 2015-03-13 23:01:01 发布