本文主要是介绍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 (贪心)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!