UPC:ABS
问题 G: ABS
时间限制: 1 Sec 内存限制: 128 MB
提交: 537 解决: 186
[提交] [状态] [讨论版] [命题人:admin]
题目描述
Two people X and Y will play a game using this deck. Initially, X has a card with Z written on it in his hand, and Y has a card with W written on it in his hand. Then, starting from X, they will alternately perform the following action:
Draw some number of cards from the top of the deck. Then, discard the card in his hand and keep the last drawn card instead. Here, at least one card must be drawn.
The game ends when there is no more card in the deck. The score of the game is the absolute difference of the integers written on the cards in the two players' hand.
X will play the game so that the score will be maximized, and Y will play the game so that the score will be minimized. What will be the score of the game?
Constraints
All input values are integers.
1≤N≤2000
1≤Z,W,ai≤109
输入
N Z W
a1 a2 … aN
输出
样例输入
3 100 100
10 1000 100
样例输出
900
提示
If X draws two cards first, Y will draw the last card, and the score will be |1000−100|=900.
博弈问题。
大概题意:
X,Y两个人,手中各有一张牌,牌上的数字大小分别是Z,W。此时桌子上有N张牌,X、Y两个人一前一后从桌子上拿任意多的牌。
每次拿到几张牌后,把手头原有的牌扔掉,只保留刚刚拿起的这些牌里最后的一张。
一直到拿到桌子上没有牌之后,比较X、Y两个人手中牌的差。
X的目的是让结果最大化,Y的目的是让结果最小化 。
这个题做的时候没有想到什么办法,因为桌子上的牌的数值是不确定的,没有办法根据这个直接判断,所以当时干脆让X先拿的时候拿到第 n-1 个或者第 n 个,然后进行对比,基本就是模拟了一下样例的过程。
然后该坐等WA了(稳如老狗)
哈?竟然过了emmmmm。。。好吧。。。。
上代码(已AC)
#include<iostream>
#include<cstdlib>
#include<math.h>
using namespace std; int main(){
int n, z, w, a[];
cin >> n >> z >> w;
for(int i=;i<=n;i++) cin >> a[i];
if(n==) {
cout << llabs(a[n]-w);
}
else{
cout << max(llabs(a[n]- a[n-]), llabs(a[n] - w));
}
return ;
}
UPC:ABS的更多相关文章
- python常用函数之--求绝对值函数:abs(x)
python中的求绝对值函数:abs(X) 1. 参数 x 可以是整形也可以是复数,假如是复数的话,就求复数的模. >>> # 整形数字 ... >>> a = 1 ...
- python函数回顾:abs()
函数:abs() 官方英文文档解释 abs(x) Return the absolute value of a number. The argument may be a plain or long ...
- 模板:abs用法
c语言书本上说,数学函数除了求整数的绝对值函数abs()之外<abs() 定义在stdlib.h中>,其余的函数都在头文件 math.h 中定义,包括对浮点数求绝对值的函数fabs().c ...
- Python标准库:内置函数abs(x)
返回数字的绝对值. 參数能够是整数或浮点数.假设參数是复数,则返回复数的模. 因此abs()函数的注意点就是复数的不一样计算方式. 样例: #正整数 print('abs(1):', abs(1)) ...
- Delphi 数学函数:常用的几个数学函数(Power、Abs、Int、Trunc、Round、Frac、sqr、sqrt)
Delphi 常用的几个数学函数 1 Power函数,求次方 定义:function Power(X,Y): (Same type as parameter); 说明:X可以是整型,也可以是实型:返回 ...
- 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型
运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...
- 转载:SqlServer数据库性能优化详解
本文转载自:http://blog.csdn.net/andylaudotnet/article/details/1763573 性能调节的目的是通过将网络流通.磁盘 I/O 和 CPU 时间减到最小 ...
- 汽车ABS系统-第一周作业
ABS系统也成防抱死系统(Anti-lock Braking System),由罗伯特·博世有限公司所开发的一种在摩托车和汽车中使用,它会根据各车轮角速度信号,计算得到车速.车轮角减速度.车轮滑移率: ...
- GJM :Sql 各种语句 以及函数 [转载]
版权声明:本文原创发表于 [请点击连接前往] ,未经作者同意必须保留此段声明!如有侵权请联系我删帖处理! 1.更改数据库的名称 2.表中有数据的情况下再添加列.删除列 3.在SQLServer 中各种 ...
随机推荐
- js/jQuery使用过程中常见问题/已踩过的坑大杂烩
目录 一.jQuery选择器选择选中的或者disabled的选择框时attr函数无效 二.jQuery each函数的break/continue 三.jQuery 获取元素的left会值/left数 ...
- Ubuntu全盘备份与恢复,亲自总结,实测可靠
https://blog.csdn.net/sinat_27554409/article/details/78227496 Ubuntu全盘备份与恢复,亲自总结,实测可靠 初学者在使用Ubuntu这类 ...
- typeof获取变量的数据类型 javascript
获取变量的数据类型:typeof <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- php获取当前时间的毫秒数
floor(microtime()*1000); 用microtime能输出当前的秒的后面8位小数 乘以1000取整数就行了
- Java变成遇到的简单乱码问题
1.乱码 --- 编码集 编码集的本质是让数字与字符产生一个映射关系,不同的编码集映射实现也不同 比如UTF-8: "中"----> -28 -72 -83 对应 ...
- vue组件之间的传值方式
一.父组件向子组件传值方式 1.1父组件向子组件传数据方式 <!DOCTYPE html> <html lang="en"> <head> &l ...
- synchronized 与 volatile 原理 —— 内存屏障的重要实践
单例模式的双重校验锁的实现: 第一种: private static Singleton _instance; public static synchronized Singleton getInst ...
- requirejs + sass 实现的前端及 grunt 自动化构建
对于 现在的 vue . react .webpack 来说也许有点旧了,有时候,越简单的技术越可靠,备份一下 module.exports = function(grunt) { // Projec ...
- MemCache详细解读
MemCache是什么 MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高 ...
- JMS(Java消息服务)与消息队列ActiveMQ基本使用(一)
最近的项目中用到了mq,之前自己一直在码农一样的照葫芦画瓢.最近几天研究了下,把自己所有看下来的文档和了解总结一下. 一. 认识JMS 1.概述 对于JMS,百度百科,是这样介绍的:JMS即Java消 ...