模拟+贪心 URAL 1804 The Machinegunners in a Playoff
题意: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的更多相关文章
- BZOJ1029: [JSOI2007]建筑抢修[模拟 贪心 优先队列]
1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec Memory Limit: 162 MBSubmit: 3785 Solved: 1747[Submit][Statu ...
- 贪心 URAL 1303 Minimal Coverage
题目传送门 /* 题意:最少需要多少条线段能覆盖[0, m]的长度 贪心:首先忽略被其他线段完全覆盖的线段,因为选取更长的更优 接着就是从p=0开始,以p点为标志,选取 (node[i].l < ...
- 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 ...
- Codeforces 452D [模拟][贪心]
题意: 给你k件衣服处理,告诉你洗衣机烘干机折叠机的数量,和它们处理一件衣服的时间,要求一件衣服在洗完之后必须立刻烘干,烘干之后必须立刻折叠,问所需的最小时间. 思路: 1.按照时间模拟 2.若洗完的 ...
- bzoj 2457 [BeiJing2011]双端队列 模拟+贪心
[BeiJing2011]双端队列 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 457 Solved: 203[Submit][Status][D ...
- bzoj 3671: [Noi2014]随机数生成器【模拟+贪心】
降智好题 前面随机部分按照题意模拟,然后字典序贪心,也就是记录每个值的位置从1~nm依次看能不能取,能取的话更新行的取值范围(它上面的行一定取的列小于等于这个数取的列,下面行大于等于) #includ ...
- ZOJ 3829 模拟贪心
2014牡丹江现场赛水题 给出波兰式,推断其是否合法.假设不合法有两种操作: 1:任何位置加一个数字或者操作符 2:随意两个位置的元素对调 贪心模拟就可以 先推断数字数是否大于操作符数,若不大于 an ...
- 洛谷 P1016 旅行家的预算 模拟+贪心
目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例 输出样例 说明 思路 AC代码 总结 题面 题目链接 P1016 旅行家的预算 题目描述 一个旅行家想驾驶汽车 ...
- 洛谷P5019 铺设道路 题解 模拟/贪心基础题
题目链接:https://www.luogu.org/problemnew/show/P5019 这道题目是一道模拟题,但是它有一点贪心的思想. 我们假设当前最大的深度是 \(d\) ,那么我们需要把 ...
随机推荐
- 诺基亚(Microsoft Devices Group)2014暑期实习生笔试题知识点
总结一下Microsoft Devices Group的软件类笔试题,全部笔试题分两份试卷,逻辑题一份和软件測试题一份,仅仅总结技术题喽~题目全英文,仅仅包括选择题和填空题.选择题居多.分单选和多选. ...
- liberOJ #6173. Samjia 和矩阵 hash+后缀数组
#6173. Samjia 和矩阵 题目链接 : 点这里 题目描述 给你一个只包含大写字母的矩阵,求有多少本质不同的子矩阵. 输入格式 第一行包含两个整数 nnn , mmm ,表示矩阵 nnn 行 ...
- ajax异步加载问题
使用ajax异步加载数据,在之后需要用到这个数据时,应该将之后的js一并写入ajax函数中,否则后面的js不能找到动态拼接的dom节点. 或者将其封装成方法,在ajax动态加载数据的最后调用该方法.
- Java 8 新的时间日期 API
1. 概述 1.1 简介 Java 8 引入了一套全新的时间日期API,操作起来更简便.简单介绍下,LocalDate和LocalTime和LocalDateTime的使用: java.util.Da ...
- ExtJS常用代码集合
ExtJS常用代码集合,包括弹出提示框,登陆框,树状结构等等.1. [代码]弹出提示框 <html> <head> <title>Ge ...
- codeforces 665E E. Beautiful Subarrays(trie树)
题目链接: E. Beautiful Subarrays time limit per test 3 seconds memory limit per test 512 megabytes input ...
- 【系列】 2-SAT
bzoj 1997 Planar 题目大意: 给一个存在曼哈顿回路的无向图,求该图是否为平面图 思路: 先把曼哈顿回路提出来,则剩下的边的两个端点若有$ABAB$的形式则这两条边必定一个在环外一个在环 ...
- BZOJ_2253_[2010 Beijing wc]纸箱堆叠 _CDQ分治+树状数组
BZOJ_2253_[2010 Beijing wc]纸箱堆叠 _CDQ分治+树状数组 Description P 工厂是一个生产纸箱的工厂.纸箱生产线在人工输入三个参数 n p a , , 之后, ...
- 【197】PowerShell 通过 FTP 下载文件
参考:使用 WGET 从FTP上下载文件 在 PowerShell 使用 wget2 工具,代码如下: wget2 ftp://user:password@192.168.14.31/1.jpg 其中 ...
- centos7安装xtrabackup
1.安装percona依赖库: yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-re ...