题意:

一共有\(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\n");
else if(n == 4) printf("2\n");
else printf("%d\n", n);
} return 0;
}

最新文章

  1. iOS--异步下载
  2. Sea.js学习2——Sea.js的API 快速参考
  3. 【HDOJ】1203 I NEED A OFFER!
  4. swift 深入理解Swift的闭包
  5. USB mass storage协议
  6. 【小练习02】CSS--网易产品
  7. java窗口按钮位置设置
  8. 记XDCTF的misc之旅---base64隐写
  9. zookeeper 笔记-机制的特点
  10. pandas.DataFrame学习系列1——定义及属性
  11. 完善tab页面定位
  12. 关于Could not resolve dependencies for project
  13. 基础二 day4 日记
  14. java基础--面对对象
  15. vue-router路由学习总结
  16. 在TOMCAT下配置工程的默认访问设置(转)
  17. ReactNative如何在JS中引用原生自定义控件(rn变化太快,网上很多教程有坑,这个我研究后可用,特意分享)
  18. 用VerilogHDL设计一个与门逻辑,并进行前仿和后仿
  19. (58)Wangdao.com第九天_JavaScript 对象的基本操作
  20. Attention Is All You Need 一些好的资料

热门文章

  1. scrollHelper
  2. Log4j输出格式log4j的PatternLayout参数含义
  3. Seven Deadly Sins: Gluttony, Greed, Sloth, Wrath, Pride, Lust, and Envy.
  4. Android 适配底部返回键等虚拟键盘的完美解决方案
  5. BUG数量和项目成本
  6. ALTER AVAILABILITY GROUP (Transact-SQL)
  7. LINQ 组合查询 和分页查询的使用
  8. 【exFat】利用命令提示符在windows 7 及 windows server 2008 r2 中将卷(分区)格式化为exFAT
  9. BZOJ 3130: [Sdoi2013]费用流 网络流+二分
  10. Connectivity