当前位置: 首页 > 编程日记 > 正文

[POI2009]KAM-Pebbles BZOJ1115 [ 待填坑 ] 博弈

有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

相关文章:

ROS中使用摄像头的问题

ROS中使用摄像头的问题 0.prepare 4 . 安装uvc_cam $ sudo apt-get install ros-indigo-uvc-camera $ source /opt/ros/indigo/setup.bash 采用apt-get的方式&#xff0c;直接装在了ROS的安装路径中&#xff0c;并设置工作路径。 安装成功后在/opt/ros/hydro/的路径中就…

EmEditor Professional(文本编辑) 下载地址

http://www.greenxf.com/soft/2126.html 16.1.5 http://www.cr173.com/soft/3031.html 16.3.0 http://www.pc6.com/softview/SoftView_43146.html 17.8.1 绿色注册版 EmEditor 71 个实用插件汉化版 http://www.onlinedown.net/soft/35609.htm

【ACM】杭电OJ 4548 美素数(二次打表)

二次打表&#xff0c;第一次是标记哪些是素数&#xff0c;哪些不是。 第二次是前n个数中 “本身是素数 && 各个位上的和是素数 ” 的个数 TLE&#xff1a; #include <iostream> #include <cstdio> using namespace std;int fun1(int x) {int sum0…

animation与transition区别

transition&#xff1a; 过渡属性 过渡所需要时间 过渡动画函数 过渡延迟时间&#xff1b;默认值分别为&#xff1a;all 0 ease 0 1、局限性&#xff1a; 1&#xff09;只能设置一个属性 2&#xff09;需要伪类/事件触发才执行 3&#xff09;只能设置动画初始值和结束值 2、过…

如何将cocos2d-x程序分别移植到ios,android,windowsphone三个手机平台上

作者&#xff1a;方格子链接&#xff1a;https://www.zhihu.com/question/21505500/answer/22152464来源&#xff1a;知乎著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。面向android的移植 0. 这移植过程简直…… 1. 完成以上工具的下载安装…

【数据结构】顺序循环队列及其实现(C语言)

给定一个大小为MAXSIZE的数组储存一个队列&#xff0c;经过若干次的插入和删除以后&#xff0c;当队尾指针 rear MAXSIZE 时&#xff0c;呈现队列满的状态&#xff0c;而事实上数组的前部可能还有空闲的位置。为了有效地利用空间&#xff0c;引入循环队列&#xff08;环状&…

C++中Reference与指针(Pointer)的使用对比

了解引用reference与指针pointer到底有什么不同可以帮助你决定什么时候该用reference&#xff0c;什么时候该用pointer。在C 中&#xff0c;reference在很多方面与指针(pointer)具有同样的能力。虽然多数C程序员对于何时使用reference何时使用pointer 都会有一些直觉&#xff0…

云南实现手机自主补(换)领居民身份证

图为云南首位通过手机自主补领居民身份证的申领人付宏强。 缪超 摄 中新网昆明1月22日电 (缪超)春节临近&#xff0c;云南实现手机自主补(换)领居民身份证&#xff0c;首张通过手机补办的居民身份证于22日在武定县公安局狮山派出所成功申领。 据悉&#xff0c;为方便民众因遗失…

NDK JNI 安装与配置(一)(UBUNTU16.04 )

1、下载Android NDK自解压包&#xff0c;官方地址&#xff1a;https://developer.android.com/ndk/downloads/index.html#download下载&#xff1a;$ wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin2、解压&#xff0c;将Android NDK压缩包解压到…

【数据结构】顺序表的应用(4)(C语言)

【数据结构】顺序表的应用&#xff08;1&#xff09;&#xff08;C语言&#xff09; 【数据结构】顺序表的应用&#xff08;2&#xff09;&#xff08;C语言&#xff09; 【数据结构】顺序表的应用&#xff08;3&#xff09;&#xff08;C语言&#xff09; 设计一个算法&…

Java泛型:泛型类、泛型接口和泛型方法

2019独角兽企业重金招聘Python工程师标准>>> 根据《Java编程思想 &#xff08;第4版&#xff09;》中的描述&#xff0c;泛型出现的动机在于&#xff1a;有许多原因促成了泛型的出现&#xff0c;而最引人注意的一个原因&#xff0c;就是为了创建容器类。 泛型类 容器…

POJ 2456 Aggressive cows(二分答案)

Aggressive cowsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 22674 Accepted: 10636Description Farmer John has built a new long barn, with N (2 < N < 100,000) stalls. The stalls are located along a straight line at positions x1,...,xN (0…

JMeter打开脚本报错处理方法

今天电脑重装了系统&#xff0c;安装好jmeter后打开以前写的脚本&#xff0c;总是报错如下图&#xff0c;研究了半天也没搞明白。 后来一个群里的人员提醒才想起来&#xff0c;是脚本的问题&#xff0c;为啥捏&#xff1f; 因为之前写的脚本用了一些监听&#xff0c;而这些监听…

Android开发中libs包下面的mips、armeabi、armeabi-v7a和x86

简介 在Android日常的开发过程中有的项目需要引入第三方的库&#xff0c;有时候大家可能会在libs文件夹下看到 mips、armeabi、armeabi-v7a和x86这四个文件夹。那么这三个文件夹下面的包是干什么用的&#xff1f; 这三个包下面存放的用C编译的本地库文件&#xff08;各类『.…

【数据结构】判断一个单链表中各结点的值是否有序

count记录的是单链表的总长 count1记录的是升序的结点的个数 count2记录的是降序的结点的个数 如果count1或者count2等于count&#xff0c;那么就说明该序列是升序或者降序的。 稍加改进可以在准确判断是升序还是降序还是无序 &#xff08;个人认为链表中只有一个结点或者…

MSSQL-最佳实践-行级别安全解决方案

title: MSSQL-最佳实践-行级别安全解决方案 author: 风移 摘要 在SQL Server安全系列专题月报分享中&#xff0c;我们已经分享了&#xff1a;如何使用对称密钥实现SQL Server列加密技术、使用非对称密钥加密方式实现SQL Server列加密、使用混合密钥实现SQL Server列加密技术和列…

浮点数运算原理详解

导读&#xff1a; 浮点数运算是一个非常有技术含量的话题&#xff0c;不太容易掌握。许多程序员都不清楚使用操作符比较float/double类型的话到底出现什么问题。 许多人使用float/double进行货币计算时经常会犯错。这篇文章是这一系列中的精华&#xff0c;所有的软件开发人员都…

vCenter的安装

转载于:https://blog.51cto.com/yht1990/1857211

【数据结构】双链表的应用

1、设计一个算法&#xff0c;在双链表中值为y的结点前面插入一个值为x的新结点&#xff0c;即使得值为x的新结点成为值为y的结点的前驱结点。 2、设计一个算法&#xff0c;将一个双链表改建成一个循环双链表。 #include <stdio.h> #include <stdlib.h>typedef st…

Eclipse for Tricore 的安装方法

1.安装JDK32位版 2.安装Eclipse for Tricore 32位版&#xff08;应该也只有32位的&#xff09; 3.OK&#xff08;如果打开Tricore提示找不到JDK的话&#xff0c;在网上搜索如何配置JDK&#xff0c;修改环境变量&#xff09; 注意&#xff1a;Eclipse的位数必须和JDK位数相同 转…

NDK JNI方式读写Android系统的demo(二)

NDK & JNI&#xff08;方式读写Android系统的&#xff24;&#xff45;&#xff4d;&#xff4f;&#xff09; 大家都知道Android系统是一种基于Linux的自由及开放源码的操作系统&#xff0c;所以读写GPIO也可以直接用Linux那一套export/unexport方法&#xff0c;本文将介…

【数据结构】顺序串的插入算法,删除算法,连接运算,顺序串求子串算法

主函数自行添加 头文件 宏定义 #include <stdio.h> #include <stdlib.h> #define MAXSIZE 100 串的顺序存储 typedef struct {char str[MAXSIZE];int length; }seqstring; 顺序串的创建 void creat(seqstring *S) {char c;int i0;while((cgetchar())!\n){S-…

log4j日志记录级别是如何工作?

级别p的级别使用q&#xff0c;在记录日志请求时&#xff0c;如果p>q启用。这条规则是log4j的核心。它假设级别是有序的。对于标准级别它们关系如下&#xff1a;ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF。 举个栗子 下面的栗子明确指出如何可以过…

Kafka背后公司获1.25亿融资,估值超25亿美元

北京时间1月24日&#xff0c;开源Apache Kafka项目背后的公司Confluent在官方博客宣布进行了D轮融资&#xff0c;价值约为1.25亿美元&#xff0c;公司总估值高达25亿美元。 Confluent公司CEO Jay Kreps在博客中表示&#xff1a;我很高兴地宣布&#xff0c;Confluent已经募集了1…

深入学习jQuery描述文本内容的3个方法

前面的话 在javascript中&#xff0c;描述元素内容有5个属性&#xff0c;分别是innerHTML、outerHTML、innerText、outerText和textContent。这5个属性各自有各自的功能&#xff0c;且兼容性不同。jQuery针对这样的处理提供了3个便捷的方法&#xff0c;分别是&#xff1a;html(…

NDK JNI Android Studio开发与调试DEMO(三)(生成 .so 文件)

Android Studio NDK 开发与调试&#xff08;生成 .so 文件&#xff09; 温馨提示&#xff1a;如果你的 Android Studio 版本在 3.0以上 &#xff0c; 建议你用 cMake /ndk-build 的新姿势进行 NDK 开发 : https://developer.android.google.cn/index.html AS与&#xff47;&am…

字符串的模式匹配 (朴素模式匹配算法 ,KMP算法)

字符串的模式匹配 寻找字符串p在字符串t中首次出现的起始位置 字符串的顺序存储 typedef struct {char str[MAXSIZE];int length; }seqstring; 朴素的模式匹配算法 基本思想&#xff1a;用p中的每一个字符去与t中的字符一一比较。 模式p 正文 t 如果匹配成功&#xff0c…

框架页面jquery装载

转载于:https://www.cnblogs.com/moonsoft/p/10313309.html

NDKJNI Android 相关资料整理(四)

JNI/NDK开发指南 JNI/NDK开发指南&#xff08;一&#xff09;—— JNI开发流程及HelloWorld http://blog.csdn.net/xyang81/article/details/41777471 JNI/NDK开发指南&#xff08;二&#xff09;——JVM查找java native方法的规则 http://blog.csdn.net/xyang81/article/det…

【ACM】与全排列相关的STL函数 prev_permutation next_permutation

排列 与 全排列 从n个不同元素中任取m&#xff08;m≤n&#xff09;个元素&#xff0c;按照一定的顺序排列起来&#xff0c;叫做从n个不同元素中取出m个元素的一个排列。 当mn时所有的排列情况叫全排列。如果这组数有n个&#xff0c;那么全排列数为n!个。 对于全排列的求解…