LA 4094 WonderTeam
题目大意:
有n支队伍,每两支队伍比赛两场,胜得3分,平得1分,负不得分.比赛结束评选一支梦之队,满足要求是:进球总数最多(不能并列)+胜利数最多(不能并列)+丢球数最少(不能并列).求梦之队的最低可能排名.
题目分析:
智商真是一天不如一天,╮(╯_╰)╭.
题解参考自这里
若梦之队某一场次的进球数极大,就可以满足进球数最多.
要使梦之队排名尽可能靠后,那么那只队伍就应该是比其他队伍仅仅多胜利了一场,而且大多是负场,这样就能使得分尽可能低.
则有2支一胜一负其余皆平,其他队伍一胜其余皆平.
至于丢球数最少,让其他队伍平场时分值比较大即可.
所以可以得到:
梦之队 2胜 n-1负 n-3平 n+3分
某2支队 1胜 1负 2n-4平 2n-1分
其余队伍 1胜 2n-3平 2n分
当1<=n<=3时,n+3>=2n,最低排名为1.
当n==4时,n+3<2n,n+3>=2n-1,最低排名为2.
当n>4时,n+3<2n-1,最低排名为n.
代码:
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)==1&&n) {
if(n<=3) printf("1\n");
else if(n==4) printf("2\n");
else printf("%d\n",n);
}
return 0;
}