hdu Tian Ji -- The Horse Racing,我的程序为什么WA 15
#include<stdio.h>voidmain(){inti,j,k,n,t,sum;inttian[1003];intking[1003];while(scanf(...
#include<stdio.h>
void main()
{
int i,j,k,n,t,sum;
int tian[1003];
int king[1003];
while(scanf("%d",&n),n)
{
for(i=0;i<n;i++)
scanf("%d",&tian[i]);
for(i=0;i<n;i++)
scanf("%d",&king[i]);
for(i=0;i<n-1;i++)
{
k=i;
for(j=i;j<n;j++)
if(tian[j]>tian[k])
k=j;
t=tian[k];
tian[k]=tian[i];
tian[i]=t;
}
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(king[j]>king[k])
k=j;
t=king[k];
king[k]=king[i];
king[i]=t;
}
i=j=0;
sum=0;
k=n;
while(k--)
{
if(tian[i]>king[j])
{
sum=sum+200;
i++;
j++;
}
else if(tian[i]<king[j])
{
sum=sum-200;
j++;
}
else
{
while(tian[i]==king[j] && j<n-1)
{
i++;
j++;
}
if(tian[i]>king[j])
sum=sum+200;
}
}
printf("%d\n",sum);
}
}
贪心算法:
//1 田忌的最快与齐王最快比,田忌快则PK掉,田忌慢则用田忌最慢的PK齐王最快;
//2 快马相等的话,用田忌的最慢与齐王最慢比,田忌快则PK掉,田忌慢则PK齐王最快;
//3 最快与最慢都相等,则用田忌最慢PK掉齐王最快; 展开
void main()
{
int i,j,k,n,t,sum;
int tian[1003];
int king[1003];
while(scanf("%d",&n),n)
{
for(i=0;i<n;i++)
scanf("%d",&tian[i]);
for(i=0;i<n;i++)
scanf("%d",&king[i]);
for(i=0;i<n-1;i++)
{
k=i;
for(j=i;j<n;j++)
if(tian[j]>tian[k])
k=j;
t=tian[k];
tian[k]=tian[i];
tian[i]=t;
}
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(king[j]>king[k])
k=j;
t=king[k];
king[k]=king[i];
king[i]=t;
}
i=j=0;
sum=0;
k=n;
while(k--)
{
if(tian[i]>king[j])
{
sum=sum+200;
i++;
j++;
}
else if(tian[i]<king[j])
{
sum=sum-200;
j++;
}
else
{
while(tian[i]==king[j] && j<n-1)
{
i++;
j++;
}
if(tian[i]>king[j])
sum=sum+200;
}
}
printf("%d\n",sum);
}
}
贪心算法:
//1 田忌的最快与齐王最快比,田忌快则PK掉,田忌慢则用田忌最慢的PK齐王最快;
//2 快马相等的话,用田忌的最慢与齐王最慢比,田忌快则PK掉,田忌慢则PK齐王最快;
//3 最快与最慢都相等,则用田忌最慢PK掉齐王最快; 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询