UVALive 7147-World Cup-数学推导-水题
来源:互联网 发布:ubuntu命令行界面 编辑:程序博客网 时间:2024/06/16 12:58
题意:足球比赛中,赢一场加a分,平一场加b分,负一场加c分
n个队伍,两两进行一场比赛,比分前m的晋级,分数相同随机晋级
问某个队伍被淘汰,分数最高多少,某个没被淘汰分数最低是多少
分数最高就让m+1个队伍分数都一样,分数最低就让n-m个队伍分数一样
#include<cstdio>#include<cmath>#include<algorithm>using namespace std;long long n,m;long long a,b,c;long long ansx,ansy;long long sov1(void) { if(b>=a) { ///如果平均分数比胜利还高,直接全是平局 return (n-1)*b; } if(2*b>=a+c) { ///如果平局分数比胜利低,2倍比胜利+失败高, ///前m+1个队伍全是平局(m场比赛) return (n-m-1)*a+m*b; } if(2*b<a+c) { ///如果2倍比胜利+失败低,前m+1个队伍赢一半输一半, /// 剩下的一场平均或者失败高的一个 long long ans=(n-m-1)*a+(a+c)*(m/2); if(m&1) ans+=max(b,c); return ans; }}long long sov2(void) { ///最低分原理差不多。自己推一下 if(c>=b) { long long ans=(m-1)*b; if(2*b>=a+c) { ans+=(a+c)*((n-m)/2); if((n-m)&1) ans+=min(b,a); } else { ans+=(n-m)*b; } return ans; } else { long long ans=(m-1)*c; if(2*b>=a+c) { ans+=(a+c)*((n-m)/2); if((n-m)&1) ans+=min(a,b); } else { ans+=(n-m)*b; } return ans; }}int main(){ int t,kase=0; scanf("%d",&t); while(t--) { scanf("%lld%lld",&n,&m); scanf("%lld%lld%lld",&a,&b,&c); ansx=sov1(); ansy=sov2(); printf("Case #%d: %lld %lld\n",++kase,ansx,ansy); } return 0;}
0 0
- UVALive 7147-World Cup-数学推导-水题
- UVALive 7147- World Cup
- UVALive 7147 World Cup 【贪心】
- poj 1953 World Cup Noise (数学:推导)
- UVALive 7147 World Cup (智商题)
- World Cup __(UVALive
- LA7147 World Cup 数学
- UVALive 7147 World Cup(贪心+分类讨论)
- UVALive 7147 World Cup ——思维题
- UVALive 7147 World Cup 2014 上海区域赛j题 思维题
- poj 3117 水题 World Cup
- world cup
- POJ1953 World Cup Noise DP水题
- UVALive 6835 (简单推导)
- pku_1953 World Cup Noise
- PKUOJ1593 World Cup Noise
- POJ 3117 World Cup
- poj 3117 World Cup
- 堆和栈的区别
- 一个RecyclerView写出来的小Demo
- Jena中SPARQL查询本体的简单实现
- tcp传输包的学习笔记
- 在vmware10里装好了10.9 ,但是分辨率不正常
- UVALive 7147-World Cup-数学推导-水题
- try except Exception as e 检查异常
- UVA - 10129 Play on Words
- UVA - 10054 The Necklace
- django 1.97 文章摘要功能的实现
- [安卓自定义控件]基于安卓事件分发机制,结合ViewPager与ImageScaleView的可监听左右滑动翻页并支持保存图片的图片浏览页
- Android Volley 框架的使用
- login shell与non-login shell的区别
- 学习笔记(五)SQLite与ContentProvider