设与R1相邻的三角形个数为k,那么先手胜当且仅当
(k =1) or (n-k-3)与k奇偶性不同
即(k=1) or n为偶数
写法略丑 嘿嘿嘿嘿
#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;
const int N=50005;
int n,K;
int a[N][3],b[N],c[N];
int main(){
freopen("t.in","r",stdin);
freopen("t.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;i++){
scanf("%d%d%d",a[i],a[i]+1,a[i]+2);
sort(a[i],a[i]+3);
if (i!=1){
if ((a[i][0]==a[1][0] && a[i][1]==a[1][1])) K++;
if ((a[i][0]==a[1][0] && a[i][1]==a[1][2])) K++;
if ((a[i][0]==a[1][1] && a[i][1]==a[1][2])) K++;
if ((a[i][0]==a[1][0] && a[i][2]==a[1][1])) K++;
if ((a[i][0]==a[1][0] && a[i][2]==a[1][2])) K++;
if ((a[i][0]==a[1][1] && a[i][2]==a[1][2])) K++;
if ((a[i][1]==a[1][0] && a[i][2]==a[1][1])) K++;
if ((a[i][1]==a[1][0] && a[i][2]==a[1][2])) K++;
if ((a[i][1]==a[1][1] && a[i][2]==a[1][2])) K++;
}
}
if (K==1 || (~n&1))
printf("TAK\n");
else
printf("NIE\n");
}