LA 4094 WonderTeam 构造

题意:

一共有(n)支队伍参加比赛,每两支队伍比赛两场,主客场各一场。
胜场得(3)分,平局得1分,败场不得分。
一支得分为(p)的队伍的排名(=)分数大于(p)的队伍数(+1),所以会有名词并列的情况。

现在要选出一支梦之队,同时满足下面三个条件:

  • 胜利场数最多,不能并列
  • 进球总数最多,不能并列
  • 丢球总数最少,不能并列

求梦之队可能的最低排名。

分析:

进球数最多和丢球数最少我们是可以合理调整得到的,比如梦之队的胜场是以(10^9 : 1)获胜的。
下面考虑,让它胜场最多的情况下得分尽可能地少。
我们可以让梦之队胜两场,然后其余球队每队都赢梦之队一场,其余的比赛都只能平局了。
每支球队都会进行(2(n-1))场比赛,假设梦之队打败的是(A)队和(B)队:

胜利场数 平局次数 最终得分
梦之队 2 (n-3) (n+3)
A队 1 (2n-4) (2n-1)
B队 1 (2n-4) (2n-1)
其他球队 1 (2n-3) (2n)

这样,(n > 4)的时候,梦之队的排名可以是最后一名。
(1 leq n leq 3)时,梦之队只可能是第一名,当(n=4)的时候,梦之队最少是第二名。

#include <cstdio>

int main()
{
	int n;
	while(scanf("%d", &n) == 1 && n) {
		if(n <= 3) printf("1
");
		else if(n == 4) printf("2
");
		else printf("%d
", n);
	}

	return 0;
}
原文地址:https://www.cnblogs.com/AOQNRMGYXLMV/p/5069687.html