题目传送门

题意:A队和B队踢球,已知一场比赛A和B的得分情况,问A最小再得几分就能胜利还有最多能的几分还能给B队一丝翻盘的希望。规则如下:

    1. 总分数相等的情况下,在客场得分高的获胜,如果还相等,那么两者都可能获胜

    2. 总分数高的获胜

分析:首先假设给出home的分数,A的记为x1, B的记为y1。当x1 >= y1时,最小值x2 == 0,因为y2 == 0,否则先补上x2,使得x1 + x2 == y1 + 0,在考虑客场的因素是否还要+1。至于最大值也是先补全(x1 + x3 == y1 + 30) 然后再考虑客场因素是否-1。away的同理。代码写得冗长,我也没时间精简了。

代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;const int N = 1e2 + 10;
const int INF = 0x3f3f3f3f;
string s;int main(void) {int T; scanf ("%d", &T);getchar ();while (T--)   {int x1 = 0, y1 = 0, x2 = 0, y2 = 0, x3 = 0;getline (cin, s);int len = s.length ();int c = 0;if (s[26] == 'h')   {int k = 44;while (k < len && s[k] >= '0' && s[k] <= '9')   x1 = x1 * 10 + s[k++] - '0';bool flag = false;for (int i=k; i<len; ++i)    {if (s[i] < '0' || s[i] > '9')    {if (!flag) continue;else   break;}else {flag = true;y1 = y1 * 10 + s[i] - '0';}}if (x1 > y1)   {x2 = 0;}else if (x1 == y1)  {x2 = 0;if (x2 < y1)    x2++;}else if (x1 < y1)    {x2 = y1 - x1;if (x2 < y1)  x2++;}x3 = y1 + 30 - x1;if (x3 > y1) x3--;x3 = min (x3, 30);cout << x2 << " " << x3 << endl;}else {int k = 44;while (k < len && s[k] >= '0' && s[k] <= '9')   x1 = x1 * 10 + s[k++] - '0';bool flag = false;for (int i=k; i<len; ++i)    {if (s[i] < '0' || s[i] > '9')    {if (!flag) continue;else   break;}else {flag = true;y1 = y1 * 10 + s[i] - '0';}}if (x1 > y1)   {x2 = 0;}else if (x1 == y1)  {x2 = 0;}else if (x1 < y1)  {x2 = y1 - x1;}x3 = y1 + 30 - x1;x3 = min (x3, 30);cout << x2 << " " << x3 << endl;}}return 0;
}

  

转载于:https://www.cnblogs.com/Running-Time/p/4785326.html

模拟+贪心 URAL 1804 The Machinegunners in a Playoff相关推荐

  1. ural 1804 The Machinegunners in a Playoff

    http://vjudge.net/contest/view.action?cid=53296#problem/E 题意: 这题就像是欧冠主客场淘汰赛,先给你A队上一场的比赛情况,有可能是主场,也有可 ...

  2. TOJ 1804 The Machinegunners in a Playoff

    终于知道国足多么不容易只要打平就能晋级是说的简单.. 傻逼了,开始没看懂题弄了什么净胜球... 直接开搞. 第一个数要输出自己最小的进球 must晋级  0 30  就只能输出30 第二个数要输出自己 ...

  3. 【CodeForces Round #550】A-F | 模拟 | 贪心 | 高精 | BFS | 二分图 | E

    今年怎么没有愚人节比赛了   CF你看看人家洛谷   唉鸭原来那边还没到愚人节呢- 愚人节比赛还是有的,在今晚 qwq [CodeForces 1144   A-F] Tags:模拟 贪心 BFS 高 ...

  4. 1739 - 放置盒子 - 模拟 - 贪心 - 数学

    欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击. 文章目录 题目描述 题目描述 题目剖析&信息挖掘 解题思路 方法一 模拟+贪心+数学 分析 思路 注意 知识点 复杂度 ...

  5. 1/22 测试一(STL 模拟 贪心)C.(贪心,给出气球,输出最好成绩)Contest Balloons

    1/22 测试一(STL 模拟 贪心) C.(贪心,给出气球,输出最好成绩)Contest Balloons One tradition of ACM-ICPC contests is that a ...

  6. bzoj 2457 [BeiJing2011]双端队列 模拟+贪心

    [BeiJing2011]双端队列 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 457  Solved: 203 [Submit][Status] ...

  7. Smzzl with Greedy Snake 模拟-贪心-阅读理解

    题意 : 给出n个食物及坐标,必须按顺序吃掉,且只有在吃掉一个后,才会出现下一个. 从(x, y)出发,沿着d方向,每次可以前进或者顺时针或者逆时针转90度,用时都为1,求构造用时最少的方案并记录方案 ...

  8. 刷题总结——拆网线(noip模拟 贪心)

    题目: 给定一颗树··在保证有k个点与其它点连接的情况下问最少保留多少条边···· 树的节点树n和k均小于100000: 题解: 很容易看出来我们要尽量保留那种一条边连两个节点的情况···· 然后考试 ...

  9. 牛客剪刀石头布Java 模拟+贪心

    题目:链接:https://ac.nowcoder.com/acm/contest/8997/C 来源:牛客网 已知石头剪刀布的规则是:布赢石头,石头赢剪刀,剪刀赢布. 每局胜者得2分,平局双方各得1 ...

最新文章

  1. ORACLE OMF介绍
  2. The Pilots Brothers' refrigerator - poj 2965
  3. 神奇的pdfkit工具——将字符串保存为pdf文件
  4. 网站做好后,不想买服务器可以用自己的电脑当服务器么?
  5. 开启OpenStack Api跨域请求(CORS)功能
  6. 你们身边有没有程序媛?
  7. BERT中CLS效果真的好嘛?这篇文章告诉你答案
  8. delphi7连接oracle,delphi7.0连接oracle数据库的.doc
  9. 在深圳,考PMP需要花费多少钱?
  10. 软件测试方法--黑盒测试、白盒测试
  11. 企业微信健康打卡服务器无反应,企业微信打卡常见问题解答
  12. SSRF利用 Gopher 协议拓展攻击面
  13. Hadoop数字统计
  14. Serialize Your Deck with Positron [XML Serialization, XSD, C#]
  15. 如何进行代理上网以及ccproxy设置
  16. JavaScript模板引擎-artTemplate
  17. 如何进入华为P40 debug 模式/开发者选项模式
  18. 软件开发流程有哪些?完整的软件开发流程
  19. 游戏建模的常用的软件和建模师的日常是什么?
  20. 配置maven的中央仓库mirro镜像

热门文章

  1. mysql备份到带库_MySQL数据备份
  2. 叠衣服机器人来了,妈妈再也不用担心我叠衣服了!|一周硅谷热闻回顾
  3. python 乡镇轮廓 高德_Python调用高德地图API爬取经纬度
  4. mac的rubywoo怎么读_MAC Rubywoo
  5. Aliplayer中自定义添加字幕的实现
  6. oracle数据库进程查询
  7. python3*1**3 表达式输出结果为_下列 Python语句的输出结果是?
  8. ubuntu 由于没有公钥,无法验证下列签名
  9. pycharm编译pyx,及MinGM
  10. 只有程序员看的懂的面试圣经|如何拿下编程面试