Description

多边形之战是一个双人游戏。游戏在一个有n个顶点的凸多边形上进行,这个凸多边形的n-3条对角线将多边形分成n-2个三角形,这n-3条对角线在多边形的顶点相交。三角形中的一个被染成黑色,其余是白色。双方轮流进行游戏,当轮到一方时,他必须沿着画好的对角线,从多边形上切下一个三角形。切下黑色三角形的一方获胜。
注:如果连接一个多边形中任意两点的线段都完全包含于这个多边形,则称这个多边形为凸多边形。
求解任务:
请设计一个程序:
       ·读入对一个多边形的描述。
·确定先走的一方是否能够获胜。
·将结果输出。

Input

第一行是一个整数, 4 <= n <= 50000。表示多边形的顶点数,多边形的顶点从0到n-1顺时针标号。接着的n-2行描述组成多边形的三角形。第i+1行, 1 <= i <= n-2,有三个空格分隔的非负整数a、 b、 c,它们是第i个三角形的顶点编号。第一个给出的三角形是黑色的。

Output

唯一一行应包含一个单词:
TAK(波兰文“是”),表示先走的一方有必胜策略,或者
NIE(波兰文“否”),表示先走的一方没有必胜策略。
 

Sample Input

6
0 1 2
2 4 3
4 2 0
0 5 4

Sample Output

TAK
/*
自己手推出来的第一道博弈论
①:如果黑三角形的三条边只有一条是对角线,则先手必胜。
②:如果n是偶数,则先手必胜。
第一条很好理解,下面写一下我倒退的第二条证明过程:
1:设对角线有t1条是三角形上的,t2条不在三角形上 。
2:如果先手必胜,则最后一次取数时,t1=1,t2=0,因为如果t2>0的话,后手的人上一步就一定取m中的。
3:倒数第二次取数,t1=2,t2=0,因为如果t1=1,则后手就取走了。
4:(t1,t2)可等效于(t1,t2%2)
由此一直推可推出如果刚开始的t1+t2是奇数的话,先手必胜,因为t1+t2=n-3,则如果n是偶数,则先手必胜。
*/
#include<iostream>
#include<cstdio>
using namespace std;
int v[];
int main(){
int n,a,b,c,t=;
scanf("%d%d%d%d",&n,&a,&b,&c);
for(int i=;i<=n-;i++){
int x,y,z;scanf("%d%d%d",&x,&y,&z);
v[x]++;v[y]++;v[z]++;
}
if(!v[a])t++;
if(!v[b])t++;
if(!v[c])t++;
if(t==||n%==) printf("TAK");
else printf("NIE");
return ;
}

多边形之战(bzoj 2927)的更多相关文章

  1. 【BZOJ2927】[Poi1999]多边形之战 博弈

    [BZOJ2927][Poi1999]多边形之战 Description 多边形之战是一个双人游戏.游戏在一个有n个顶点的凸多边形上进行,这个凸多边形的n-3条对角线将多边形分成n-2个三角形,这n- ...

  2. bzoj 2927: [Poi1999]多边形之战【博弈论】

    先手必胜状态是黑三角在边上 然后其他情况脑补一下,n为偶数先手必胜,可以理解为从某一边取,先手总有办法让后手取得一边有奇数个 #include<iostream> #include< ...

  3. BZOJ 2927: [Poi1999]多边形之战 (博弈)

    题意 有一个凸多边形,顶点编号逆时针从0到n-1.现在这个n边形被剖分成n-2个三角形,给出这n-2个三角形的顶点,保证这是用n-3条不交叉的对角线划分出来的.现在第一个三角形是黑色,其他都是白色.两 ...

  4. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  5. [BZOJ 4350]括号序列再战猪猪侠 题解(区间DP)

    [BZOJ 4350]括号序列再战猪猪侠 Description 括号序列与猪猪侠又大战了起来. 众所周知,括号序列是一个只有(和)组成的序列,我们称一个括号 序列S合法,当且仅当: 1.( )是一个 ...

  6. BZOJ 4706: B君的多边形 找规律

    4706: B君的多边形 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4706 Description 有一个正n多边形,我们要连接一些 ...

  7. BZOJ 1091--切割多边形(几何&枚举)

    1091: [SCOI2003]切割多边形 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 356  Solved: 157[Submit][Status ...

  8. 【BZOJ 4449】[Neerc2015]Distance on Triangulation 多边形分治结构

    这题好神啊……正解方向是分治,据我所知的分治方法有:I.离线后直接对多边形以及所有的询问进行分治 II.建立多边形的分治结构(对于三角形来说类似线段树,对于对角线来说类似平衡树),然后每次在这个分治结 ...

  9. BZOJ 1091([SCOI2003]分割多边形-分割直线)

    1091: [SCOI2003]分割多边形 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 223  Solved: 82 [Submit][id=10 ...

随机推荐

  1. WPF日常需要使用的操作

    窗体如何居中弹出 在窗体上添加属性  WindowStartupLocation="CenterScreen" 窗体如何隐藏掉windows边框 添加属性WindowStyle=& ...

  2. Lumia 刷机(强刷)Message send failed解决办法

    强刷可以救砖,不需要验证地区code,可以跨刷其它国家/地区的固件,但不是所有机型都可以这样,Lumia 620是支持跨刷的. 看本文你首先要知道使用Nokia Care Suite强刷的步骤,参考从 ...

  3. 01认识Python和基础知识

     1.了解Python Python的发展历史,作者Guido, 荷兰人 Python的优缺点 Python在网站的开发,如YouTube,科学计算,数据分析,在游戏后台开发等方面广泛使用  2.编写 ...

  4. Oracle 11g r2 Enterprise Manager (EM) 中文页面调整为英文页面

    Oracle 11g r2 Enterprise Manager (EM) 在中文语言环境下, 部分功能(如包含时间的查询数据库实例: orcl  >  指导中心  >  SQL 优化概要 ...

  5. 自制Jquery下拉框插件

    (function ($) { $.fn.select3 = function (option) { $(this).each(function () { var _this = $(this); v ...

  6. ABAP和XML数据格式互相转换的两种方式

    ABAP和XML数据格式互相转换是广大开发人员经常遇到的需求.本文介绍两种方式. 1. ABAP提供了一个工具类cl_proxy_xml_transform,通过它的两个方法abap_to_xml_x ...

  7. 手把手教你免费把网站IP换成1.1.1.1/1.0.0.1

    近日,Cloudflare官方发文,与APNIC官方合作打算用IP1.1.1.1推出速度更快.私密性更强的DNS Cloudflare 运行全球规模最大.速度最快的网络之一. APNIC 是一个非营利 ...

  8. uva1660 Cable TV Network

    点连通度:最少删除几个点使图不连通 拆点就变成了最小割 注意编号.画图就知道u’连v,v’连u. 技巧:不需要枚举S,T.固定S,枚举T即可 这种输入很烦, scanf(" (%d,%d)& ...

  9. python之字符串str操作方法

    str.upper() (全部大写) str.lower() (全部小写) str.startswith() (以什么开头) str.endswith() (以什么结尾) str.count() (统 ...

  10. 谈谈你对java的理解

    这个题目是考察多个方面 但是要回答出关键点: 1.平台无关性 2.GC 3.语言特性.泛型.反射.lamda 4.面向对象 5.类库 6.异常处理