首页 > 代码库 > poj 2287 Tian Ji -- The Horse Racing (贪心)

poj 2287 Tian Ji -- The Horse Racing (贪心)

# include <stdio.h>
# include <algorithm>
# include <string.h>
using namespace std;
int main()
{
	int n,i,j,k,count;
	int flag1[1010],flag2[1010],a[1010],b[1010];
	while(~scanf("%d",&n),n)
	{
		for(i=0;i<n;i++)
		   scanf("%d",&a[i]);
		for(i=0;i<n;i++)
			scanf("%d",&b[i]);
		memset(flag1,0,sizeof(flag1));
		memset(flag2,0,sizeof(flag2));
		sort(a,a+n);
		sort(b,b+n);
		count=0;
		for(i=0;i<n;i++)//田忌从小开始的马 与秦王从大开始的马比较
		{
			for(j=n-1;j>=0;j--)
			{
				if(!flag2[j]&&a[i]>b[j])//如果大于 就记录 赢
				{
					flag1[i]=flag2[j]=1;
					count++;
					break;//只能比一对 break
				}
			}
		}		
		for(i=0;i<n;i++)//没有比较过的马中若有相等 标记 平
		{
			for(j=0;j<n;j++)
			{
				if(!flag1[i]&&!flag2[j]&&a[i]==b[j])
				{
					flag1[i]=flag2[j]=1;
					break;//只能比一对 break
				}
			}
		}
		k=0;
		for(i=0;i<n;i++)//其他没有标记过的就是 输掉的
		{
			if(!flag1[i])
				k++;
		}
		printf("%d\n",200*(count-k));
	}
    return 0;
}

poj 2287 Tian Ji -- The Horse Racing (贪心)