A70791 | 小X与游戏
来源编程题
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
小X和小Y正在玩一个游戏,这个游戏是这样的:桌上放着 n 叠卡片,每叠恰好有两张。每张卡片有一个分数。小X为先手,双方轮流操作。轮到一方操作时,他可以选择取走某一叠卡片顶端的那一张(即:若这一叠还剩 2 张则取走上面的一张,否则取走下面的一张),并获得它的分数。他也可以选择不取。若卡片取完了、或者双方都选择不取卡片,那么游戏结束。
小X和小Y都希望自己的分数减去对方的分数尽可能大。现在假设小X和小Y都绝顶聪明,总是做出对自己最有利的决策,请算出游戏结束时小X比小Y高多少分。
在任何时刻,同一叠牌的上下两张牌的的大小,小X和小Y都是能看到的。
输入格式
输入的第一行包含一个正整数 n。
接下来 n 行,每行包含 2 个用空格隔开的非负整数 a_i, b_i,分别表示第 i 叠中放在上面、下面的卡片的分值。
输出格式
输出仅有一行包含一个整数,表示游戏结束时小X比小Y高多少分。如果小X的分数比小Y低则输出一个负数。
输入输出样例
输入 #1
2 1 2 4 3
输出 #1
1
思路
「小X与游戏」先读懂题意与样例,判断是模拟、枚举、贪心还是搜索/DP,再分步实现。
步骤
1. 仔细读输入输出与样例,确定数据范围。
2. 选择合适算法并处理边界。
3. 按格式输出,注意多组数据与精度。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?