P1488 肥猫的游戏

P1488 肥猫的游戏
https://www.luogu.org/problem/P1488

博弈论
一个三角形,只有三种情况:
1邻接,2邻接,3邻接
主要是2邻接的情况比较麻烦边<0,n-1>需要特判一下

#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cmath>
#include <cstring>
#define inf 2147483647
#define N 1000010
#define p(a) putchar(a)
#define For(i,a,b) for(int i=a;i<=b;++i)
//by war
//2019.8.9
using namespace std;
int n;
int a[10];
int flag;
void in(int &x){
    int y=1;char c=getchar();x=0;
    while(c<'0'||c>'9'){if(c=='-')y=-1;c=getchar();}
    while(c<='9'&&c>='0'){ x=(x<<1)+(x<<3)+c-'0';c=getchar();}
    x*=y;
}
void o(int x){
    if(x<0){p('-');x=-x;}
    if(x>9)o(x/10);
    p(x%10+'0');
}

signed main(){
    in(n);
    in(a[1]);in(a[2]);in(a[3]);
    For(i,1,n-3)
        in(a[4]),in(a[5]),in(a[6]);
    sort(a+1,a+3+1);
    if(a[3]-a[2]==1&&a[2]-a[1]==1){
        puts("JMcat Win");
    }    
    else
        if((a[3]-a[2]==1&&a[2]-a[1]!=1) || (a[3]-a[2]!=1&&a[2]-a[1]==1) || (a[1]+a[3]==n-1 && (a[2]!=1||a[2]!=n-2))){
            if(n&1)
                puts("PZ Win");
            else
                puts("JMcat Win");
        }
    else
        if(a[3]-a[2]!=1 && a[2]-a[1]!=1){
            if(n&1)
                puts("PZ Win");
            else
                puts("JMcat Win");
        }
    return 0;
}

 

posted @ 2019-08-09 14:22  WeiAR  阅读(437)  评论(0编辑  收藏  举报