首页 > 其他分享 >luogu P1488 肥猫的游戏

luogu P1488 肥猫的游戏

时间:2022-08-19 09:04:28浏览次数:98  
标签:野猫 多边形 游戏 肥猫 luogu P1488 Win 三角形

肥猫的游戏

P1488 肥猫的游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目描述

野猫与胖子,合起来简称肥猫,是一个班的同学,他们也都是数学高手,所以经常在一起讨论数学问题也就不足为奇了。

一次,野猫遇到了一道有趣的几何游戏题目,便拿给胖子看。游戏要求在一个有 n 个顶点凸多边形上进行,这个凸多边形的 n-3 条对角线将多边形分成 n-2 个三角形,这 n-3 条对角线在多边形的顶点相交。三角形中的一个被染成黑色,其余是白色。

双方轮流进行游戏,当轮到一方时,他必须沿着画好的对角线,从多边形上切下一个三角形。切下黑色三角形的一方获胜。胖子一看觉得确实很有趣,不如就一起玩玩吧。假设游戏由野猫先开始,那么野猫是否有必胜的策略呢?请写一个程序帮助野猫算一算。

输入格式

第一行为一个整数 n,表示多边形的顶点数,多边形的顶点由 0 至 n-1 顺时针标号。

接着的 n-2 行描述组成多边形的三角形。第 i+1 行 有三个空格分隔的非负整数 a 、b 、c ,它们是第 i 个三角形的顶点编号。第一个给出的三角形是黑色的。

输出格式

只有一行,倘若野猫有必胜策略,输出 JMcat Win;否则,输出 PZ Win(注意大小写和空格)。

样例 #1

样例输入 #1

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

样例输出 #1

JMcat Win

提示

4 <= n <= 50000

如果连接一个多边形中任意两点的线段都完全包含于这个多边形,则称这个多边形为凸多边形。

题解在代码里

#include<iostream>
using namespace std;

int n, a, b, c;

int main()
{
    cin >> n;
    cin >> a >> b >> c;
    if(a > b)
        swap(a, b);
    if(a > c)
        swap(a, c);
    if(b > c)
        swap(b, c);
    if((a + 1 == b && b + 1 == c) || (a == 0 && c == n - 1))
    {
        puts("JMcat Win");
        return 0;
    }
/*
假如顶点连续,则代表这个黑色三角形在外面。
就像是一个多边形上连续三个点构成的三角形必然在外面
那么先手的野猫就赢了
当然还有一个特殊情况:假如黑色三角形同时包括 0 点和 n 点(首尾相连)
就比如:
6
0 5 4
0 1 2
2 4 3
4 2 0
所以要特判一下这种情况
*/
    else if((n - 2) % 2 == 0)
    {
        puts("JMcat Win");
        return 0;
    }
/*
假如黑色三角形被包在里面
先放着别的三角形不管
假设最后只剩三个个三角形包着黑三角
谁把其中一个三角切了谁就输了
胜负就出来了
所以只要考虑三角形个数的奇偶性就行了
*/
    else
        puts("PZ Win");

    return 0;
}

标签:野猫,多边形,游戏,肥猫,luogu,P1488,Win,三角形
From: https://www.cnblogs.com/huaziqi/p/16600783.html

相关文章

  • luogu P1721 [NOI2016] 国王饮水记
    题面传送门首先我们发现,一定不会有低于\(h_1\)的参与操作的过程。然后考虑一个\(x\)与比它大的\(y<z\),则发现一定是先\((x,y)\),再\((\frac{x+y}{2},z)\)更好。因为这样......
  • luogu P8293 [省选联考 2022] 序列变换
    题面传送门因为WC2022考了这种构造,所以下意识将括号序列建树。手玩一下发现第一个操作实际上是干了这个事情:也就是说把用其中一个括号将另一个同层括号在树上移到了下......
  • luoguP3521 [POI2011]ROT-Tree Rotations【线段树】
    你要写热,就不能只写热。要写酷暑,写骄阳,写他人耳闻便生恐的炙烤和炎灼。要写白日出门一刻便肤色黝黑,背心透彻。写求雨心切,写出行伞遮。写夜晚不停的风扇和蝉聒。写鸡......
  • luoguP3224 [HNOI2012]永无乡【线段树,并查集】
    洞庭青草,近中秋,更无一点风色。玉鉴琼田三万顷,着我扁舟一叶。素月分辉,明河共影,表里俱澄澈。悠然心会,妙处难与君说。应念岭表经年,孤光自照,肝胆皆冰雪。短发萧骚襟袖冷,稳泛......
  • 【luogu CF1710C】XOR Triangle(数位DP)
    XORTriangle题目链接:luoguCF1710C题目大意给你一个数n,要你求有多少个满足条件的a,b,c使得它们两两异或得到的三个值可以得到一个非退化三角形。其中a,b,c值域在......
  • 【$dp$】$\text{LuoguP6570}$ 优秀子序列
    \(\text{LuoguP6570}\)优秀子序列读完题大概能yy到一个转移,即枚举两个不相交的子集然后转移。其实这题的顺序都无所谓,应该排个序,或者直接在值域上操作。\(DP\),用\(f......
  • 【luogu CF1710B】Rain(差分)(性质)
    Rain题目链接:luoguCF1710B题目大意给你若干个函数,每个函数是一个45度往上线段和往下线段接在一起,两个长度一样,y轴从0出发的。然后对于每个函数,求把它以外的所有......