题目传送门

题意: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. 基于DM642 RAW采集格式的视频驱动开发及应用

    摘 要:为解决C64X系列数字信号处理器(DSP)视频驱动不能应用于原始数据格式(RAW)采集格式的问题,设计了DM642和电耦合元件(CCD)高清传感器的数据传输接口,并分析.修改用于标准格式的视频 ...

  2. JAVA运行时异常及常见的5中RuntimeExecption

    最近在抽时间看面试题,很多面试题都提出了写出java常见的5个运行时异常.现在来总结一下, java运行时异常是可能在java虚拟机正常工作时抛出的异常. java提供了两种异常机制.一种是运行时异常 ...

  3. ECMAScript学习笔记

    1. ECMAScript不存在块级作用域,因此在循环内部定义的变量,在循环外也是可以访问的 eg: var count =10; fpr(var i=0; i<count; i++){ ale ...

  4. js modify local file

    https://stackoverflow.com/questions/4561157/is-it-possible-to-modify-a-html-file-from-which-the-scri ...

  5. 正则表达式pattern的匹配格式

    0> 匹配 -------------------------------------------------------------------------------- (pattern)  ...

  6. log4j 路径环境变量配置和log4j加载配置

    1.lo4j日志路径从环境变量读取,log4j.xml配置如下: 具体配置如下: log4j.appender.R.Encoding=UTF-8 log4j.appender.R=org.apache ...

  7. Jmeter代理服务器录制请求

    1.文档前提说明 1)本文使用jmeter的版本为 apache-jmeter-2.13 及以上版本 2)java版本要求在 1.8.0 以上 注:jmeter版本一般和java相应的版本一起使用,如 ...

  8. maven统一配置

    <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> &l ...

  9. Java 8 新的时间日期 API

    1. 概述 1.1 简介 Java 8 引入了一套全新的时间日期API,操作起来更简便.简单介绍下,LocalDate和LocalTime和LocalDateTime的使用: java.util.Da ...

  10. 学习js所必须要知道的一些

    1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4. ...