1418 - WonderTeam (贪心)

题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=512&problem=4164&mosmsg=Submission+received+with+ID+12898267

题意:给n只队伍,每两队比两场,赢得3分,平1分,输0分,要选一个梦之队:赢最多,进球最多,失球最少。求梦之队最低排名。

思路:考虑梦之队赢两场,其他队各赢梦之队一场,剩下都为平局,这样赢场就能保证最多。然后让一场赢球为正无穷。输球都0-1输这样,而其他队输球为输2球这样就能保证进球最多输球最少了。

所以最后得分为 梦之队:赢2 输n -1 平n - 3 得分n + 3。

被赢的队伍:赢1 输1 平2n - 4 得分2n - 1。

其他队伍:赢1 输0 平 2n - 3 得分2n贪心

这样就很容易看出排名了。

代码:

#include <stdio.h>
#include <string.h>

int n;

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


你可能感兴趣的:(1418 - WonderTeam (贪心))