题目传送门

题意: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;
}

  

模拟+贪心 URAL 1804 The Machinegunners in a Playoff的更多相关文章

  1. BZOJ1029: [JSOI2007]建筑抢修[模拟 贪心 优先队列]

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MBSubmit: 3785  Solved: 1747[Submit][Statu ...

  2. 贪心 URAL 1303 Minimal Coverage

    题目传送门 /* 题意:最少需要多少条线段能覆盖[0, m]的长度 贪心:首先忽略被其他线段完全覆盖的线段,因为选取更长的更优 接着就是从p=0开始,以p点为标志,选取 (node[i].l < ...

  3. Codeforces Round #375 (Div. 2) A B C 水 模拟 贪心

    A. The New Year: Meeting Friends time limit per test 1 second memory limit per test 256 megabytes in ...

  4. Codeforces 452D [模拟][贪心]

    题意: 给你k件衣服处理,告诉你洗衣机烘干机折叠机的数量,和它们处理一件衣服的时间,要求一件衣服在洗完之后必须立刻烘干,烘干之后必须立刻折叠,问所需的最小时间. 思路: 1.按照时间模拟 2.若洗完的 ...

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

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

  6. bzoj 3671: [Noi2014]随机数生成器【模拟+贪心】

    降智好题 前面随机部分按照题意模拟,然后字典序贪心,也就是记录每个值的位置从1~nm依次看能不能取,能取的话更新行的取值范围(它上面的行一定取的列小于等于这个数取的列,下面行大于等于) #includ ...

  7. ZOJ 3829 模拟贪心

    2014牡丹江现场赛水题 给出波兰式,推断其是否合法.假设不合法有两种操作: 1:任何位置加一个数字或者操作符 2:随意两个位置的元素对调 贪心模拟就可以 先推断数字数是否大于操作符数,若不大于 an ...

  8. 洛谷 P1016 旅行家的预算 模拟+贪心

    目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例 输出样例 说明 思路 AC代码 总结 题面 题目链接 P1016 旅行家的预算 题目描述 一个旅行家想驾驶汽车 ...

  9. 洛谷P5019 铺设道路 题解 模拟/贪心基础题

    题目链接:https://www.luogu.org/problemnew/show/P5019 这道题目是一道模拟题,但是它有一点贪心的思想. 我们假设当前最大的深度是 \(d\) ,那么我们需要把 ...

随机推荐

  1. Seesion和Cookie详解2

    转载来自: https://www.toutiao.com/a6693986851193094664/?tt_from=weixin&utm_campaign=client_share& ...

  2. firefox 45 版本

    在做项目的时候,发现45版本的firefox浏览器.声明函数要放在调用者的上方.而firefox的47,48版本则没有这种情况发生.

  3. Springboot读取自定义的yml文件中的List对象

    Yml文件(novellist.xml)如下: novellist:   list:     - name: 笑傲江湖       type: 武侠       master: 令狐冲       a ...

  4. h5 getUserMedia error PermissionDeniedError

    HTML5 在使用非 localhost 地址访问时打开摄像头失败 .报getUserMedia error PermissionDeniedError,火狐下是可以正常调取的. 需要https: 火 ...

  5. HDU 5438 Ponds

    Ponds Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Sub ...

  6. hadoop Namenode因硬盘写满无法启动

    当写元数据的分区写满,可能导致namenode挂掉从而导致及时清理出大块的空间也无法启动namenode,那此时系统namenode会报错 org.apache.hadoop.hdfs.server. ...

  7. OpenCV坐标系与操作像素的四种方法

    像素是图像的基本组成单位,熟悉了如何操作像素,就能更好的理解对图像的各种处理变换的实现方式了. 1.at方法 第一种操作像素的方法是使用"at",如一幅3通道的彩色图像image的 ...

  8. assign.py

    #链式赋值 m=n=[1,2,3] m[0]=2 print(m,n) #m,n都改变了 x=y='xxx' y='yyy' print(x,y) #只有y 改变 #序列解包 x,y,z=1,2,3 ...

  9. java web项目的目录结构

  10. 「网络流24题」「LuoguP4014」 分配问题

    Description 有 n 件工作要分配给 n 个人做.第 i 个人做第 j 件工作产生的效益为 cij.试设计一个将 n 件工作分配给 n 个人做的分配方案,使产生的总效益最大. Input 文 ...