有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。

感谢MT大牛翻译.

Sample OutputNIE TAKHint


Input

第一行u表示数据组数。对于每组数据,第一行N表示石子堆数,第二行N个数ai表示第i堆石子的个数(a1<=a2<=……<=an)。 1<=u<=10 1<=n<=1000 0<=ai<=10000

Output

u行,若先手必胜输出TAK,否则输出NIE。

Sample Input2 2 2 2 3 1 2 4

转换为 阶梯NIM游戏;
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<string>
#include<cmath>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<bitset>
#include<ctime>
#include<deque>
#include<stack>
#include<functional>
#include<sstream>
//#include<cctype>
//#pragma GCC optimize(2)
using namespace std;
#define maxn 200005
#define inf 0x7fffffff
//#define INF 1e18
#define rdint(x) scanf("%d",&x)
#define rdllt(x) scanf("%lld",&x)
#define rdult(x) scanf("%lu",&x)
#define rdlf(x) scanf("%lf",&x)
#define rdstr(x) scanf("%s",x)
typedef long long  ll;
typedef unsigned long long ull;
typedef unsigned int U;
#define ms(x) memset((x),0,sizeof(x))
const long long int mod = 1e9 + 7;
#define Mod 1000000000
#define sq(x) (x)*(x)
#define eps 1e-4
typedef pair<int, int> pii;
#define pi acos(-1.0)
//const int N = 1005;
#define REP(i,n) for(int i=0;i<(n);i++)
typedef pair<int, int> pii;
inline ll rd() {ll x = 0;char c = getchar();bool f = false;while (!isdigit(c)) {if (c == '-') f = true;c = getchar();}while (isdigit(c)) {x = (x << 1) + (x << 3) + (c ^ 48);c = getchar();}return f ? -x : x;
}ll gcd(ll a, ll b) {return b == 0 ? a : gcd(b, a%b);
}
int sqr(int x) { return x * x; }/*ll ans;
ll exgcd(ll a, ll b, ll &x, ll &y) {if (!b) {x = 1; y = 0; return a;}ans = exgcd(b, a%b, x, y);ll t = x; x = y; y = t - a / b * y;return ans;
}
*/int T;
int n; int a[maxn];
int pp[maxn];int main() {ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> T;while (T--) {int ans = 0;cin >> n;for (int i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i <= n; i++) {pp[i] = a[i] - a[i - 1];}for (int i = n; i >= 1; i -= 2) {ans ^= pp[i];}if (ans)cout << "TAK" << endl;else cout << "NIE" << endl;}return 0;
}

转载于:https://www.cnblogs.com/zxyqzy/p/10302110.html

[POI2009]KAM-Pebbles BZOJ1115 [ 待填坑 ] 博弈相关推荐

  1. java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得

    该文章出自:http://www.cnblogs.com/hucn/p/3572384.html 分析工具:http://www.blogjava.net/jjshcc/archive/2014/03 ...

  2. 20150726 填坑日记

    三中内填坑: 1. 组合数递推什么的 C(m,n)=C(m,n-1)+C(m-1,n-1).填了个大坑,以前没认真听课QAQ 2. 裸题过河卒 3. 缺角正方形摆放车统计,分上下部分,枚举上部分放几个 ...

  3. 传统行业转型微服务的挖坑与填坑

    原文:传统行业转型微服务的挖坑与填坑 一.微服务落地是一个复杂问题,牵扯到IT架构,应用架构,组织架构多个方面 在多家传统行业的企业走访和落地了微服务之后,发现落地微服务是一个非常复杂的问题,甚至都不 ...

  4. 开发工具总结(4)之Android Studio3.0填坑指南

    序言 Android Studio 3.0 上篇讲了: 全面总结Android Studio2.X的填坑指南 这篇讲一下AS3.0的坑.. 作为这个世界上走在最前沿的生物"猿",怎 ...

  5. 【结果很简单,过程很艰辛】记阿里云Ons消息队列服务.NET接口填坑过程

    Maybe 这个问题很简单,因为解决方法是非常简单,但填坑过程会把人逼疯,在阿里云ONS工作人员.同事和朋友的协助下,经过一天的调试和瞎捣鼓,终于解决了这个坑,把问题记下来,也许更多人在碰到类似问题的 ...

  6. Android Studio 填坑指南

    前几天发布了一篇名为<Android Studio 安装.配置及第一个程序演示>的博文,有不少童鞋都认真阅读过并照步骤一步一步操作了一遍,有滴如期成功地装好了,然鹅有滴反映说这不对呀,为森 ...

  7. 即将上线的Hive服务器面临的一系列填坑笔记

    即将上线的Spark服务器面临的一系列填坑笔记 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.18/10/19 16:36:31 WARN metastore.ObjectSt ...

  8. 第二篇:salt-api使用填坑指南

    前言 salt-api在使用时,有些坑欲哭无泪,一路趟雷过后,总结了一趟salt-pai使用填坑指南,保君一路畅通. salt-api 安装 #本文的安装版本 2018.3.2-1.el6 yum i ...

  9. React Native填坑之旅--动画篇

    React Native填坑之旅--Button篇 React Native填坑之旅--动画 React Native填坑之旅--HTTP请求篇 动画是提高用户体验不可缺少的一个元素.恰如其分的动画可 ...

最新文章

  1. NOSQL图形数据库 - Neo4j
  2. mvc mvp mvvm的区别与联系_MVC,MVP,MVVM比较以及区别(上)
  3. PHP学习笔记 第八讲 Mysql.简介和创建新的数据库
  4. RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分
  5. jQuery EasyUI API 中文文档 - 数字框(NumberBox)
  6. Matlab绘制包含双Y轴的图
  7. javascript 高级程序设计学习笔记(面向对象的程序设计) 1
  8. rJava安装及Java 开发R
  9. (转)Predictive learning vs. representation learning 预测学习 与 表示学习
  10. JavaScript call,apply和prototype的介绍,区别
  11. ISE14.7兼容性问题集锦
  12. Oracle 10.2.0.5升级至11.2.0.4
  13. html自定义标记,HTML模板(自定义)标记
  14. JDBC中使用PreparedStatement执行SQL语句并管理结果集
  15. android代码重启设备,Android设备重启(reboot)---Android studio
  16. PostgreSQL视频去重 图片去重系列1
  17. 关于Microsoft Enterprise Library的介绍
  18. Android实战【仿探探陌生社交APP】
  19. CorelDRAW零基础入门到精通
  20. 用计算机连接路由器,怎样连接路由器和电脑_电脑怎么链接路由器-系统城

热门文章

  1. Android开发之SharedPreferences的封装
  2. topcoder srm 691 div1 -3
  3. 友盟数据—值得手游创业者关注的玩家数据
  4. 调侃 -- 刚入职时的单纯
  5. 20个经典要诀学好英语
  6. mysql format函数对数字类型转化的坑
  7. golang实现给图片加水印
  8. 用Gogs在Windows上搭建Git服务
  9. 记录第一次在egret项目中使用Puremvc
  10. Spring BeanFactory与FactoryBean的区别及其各自的详细介绍于用法