BestCoder8 1002 Revenge of Nim(hdu 4994) 解题报告
2024-09-02 09:18:55
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4994
题目意思:有 n 个 heap(假设从左至右编号为1~n),每个 heap 上有一些 objects。有两个player,轮流从左至右的 heap 上取走 object(1 <= 取走数 <= 当前heap上的最多objects数),规定当前的 heapi 如果还有object,那么不能取走heapi+1的object,直到把 heapi 的 object 全部取光。
题解在这里
http://bestcoder.hdu.edu.cn/
其实好容易理解,如果 heap 上的object数一直为1,那么轮到的player1(or player2)只能不得不取走,直到遇到不为1的 heapx,那么此时轮到的player就取得主动权,取走 heapx(假设objects 数为 sum) 中sum-1的数,最后另一个player处于被动状态,也就是必败点。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std; const int maxn = + ;
int a[maxn]; int main()
{
int T, n, m;
while (scanf("%d", &T) != EOF)
{
while (T--)
{
scanf("%d", &n);
for (int i = ; i <= n; i++)
scanf("%d", &a[i]);
int i = ;
int ok = ;
while (a[i] == && i+ <= n)
{
ok ^= ;
i++;
}
printf("%s\n", ok ? "Yes" : "No");
}
}
return ;
}
最新文章
- sql语法:inner join on, left join on, right join on详细使用方法
- 关于margin的问题
- Ubuntu14.04安装搜狗拼音输入法
- NPOI生成单元格(列)下拉框
- MySQL: ON DUPLICATE KEY UPDATE 用法 避免重复插入数据
- QWidget的六个刷新函数(居然有QWidget::erase函数,且并不产生绘制事件)
- SQL重复记录查询(转载)
- Android——按钮的事件监听
- 一种实现C++反射功能的想法(一)
- Eclipse代码风格设置
- Starling开发微信打灰机(二)
- 2--OC -- 类的创建与实例化
- 将linux的HOME目录下的文件夹名字改回英文
- linux 搭建squid代理服务器
- MySQL中show profiles的开启
- 面试:C++实现访问者模式
- python自动化开发-4
- C-代码笔记-输入输出
- Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办--转自http://www.jb51.net/article/88236.htm
- JS通过类名判断是否都必填
热门文章
- Leetcode总结之Backtracking
- INDY9发送tstream
- objective-c 类目(Category)和延展(Extension)
- DevExpress右键菜单使用 z
- 投资人王刚口述:滴滴如何用八十万成为百亿美金公司? zz
- 解决mac osx下pip安装ipython权限的问题
- Android View 测量流程(Measure)完全解析
- ubuntu安装 uwsgi
- Linux图形界面和文字界面的切换
- 实战c++中的string系列--十六进制的字符串转为十六进制的整型(一般是颜色代码使用)