#P7606. [THUPC2021] 混乱邪恶

[THUPC2021] 混乱邪恶

题目背景

出题人分为 99 种阵营:守序善良、守序中立、守序邪恶、中立善良、绝对中立、中立邪恶、混乱善良、混乱中立和混乱邪恶。真正的出题人,就要能够在阵营之间不断切换,而又不迷失在境界之中。

境界是一个无限大的三角形网格。网格如下图,每个交叉点都有 66 个相邻的交叉点。你从某一个交叉点出发,每次给一个出题 idea 设定风格都会使你在境界中移动一步。

题目描述

每个出题人都有一个守序指数 LL 和善良指数 GG。对于一个 idea,从题面、样例或数据范围的角度,可以从 66 个方向中选择恰好一个作为这个 idea 对应的题目的特有风格,同时会在境界中沿着所选的箭头方向移动一步:

你现在一共有 nn 个 idea,你知道你给每个 idea 设定某一个风格时你的 LL 指数和 GG 指数的变化。具体地,对于第 ii 个idea有 1212 个参数 $tl_{i,l},tl_{i,g},l_{i,l},l_{i,g},bl_{i,l},bl_{i,g},br_{i,l},br_{i,g},r_{i,l},r_{i,g},tr_{i,l},tr_{i,g}$:

如果选择“简洁的题面”,那么 LL 变成 L+tli,lL+tl_{i,l}GG 变成 G+tli,gG+tl_{i,g}

如果选择“平凡无用的样例”,那么 LL 变成 L+li,lL+l_{i,l}GG 变成 G+li,gG+l_{i,g}

如果选择“宽松的数据范围”,那么 LL 变成 L+bli,lL+bl_{i,l}GG 变成 G+bli,gG+bl_{i,g}

如果选择“复杂的题面”,那么 LL 变成 L+bri,lL+br_{i,l}GG 变成 G+bri,gG+br_{i,g}

如果选择“无私馈赠的样例”,那么 LL 变成 L+ri,lL+r_{i,l}GG 变成 G+ri,gG+r_{i,g}

如果选择“松松松的数据范围”,那么 LL 变成 L+tri,lL+tr_{i,l}GG 变成 G+tri,gG+tr_{i,g}

这里所有的加法都在模 pp 意义下进行。

进入混乱邪恶阵营的要求很苛刻,需要 LL 恰好等于 LL^*GG 恰好等于 GG^*

你的 LL 指数和 GG 指数开始时都为 00。请问是否存在一种设定风格的方式使得设定完全部 nn 个 idea 的风格后你仍在境界中原来的位置,但是能够进入混乱邪恶阵营。

输入格式

第一行两个正整数 n,pn,p

接下来 nn 行,每行 1212 个非负整数 $tl_{i,l},tl_{i,g},l_{i,l},l_{i,g},bl_{i,l},bl_{i,g},br_{i,l},br_{i,g},r_{i,l},r_{i,g},tr_{i,l},tr_{i,g}$。参数的顺序与题目描述中的一致,无需额外检查。

最后一行两个非负整数 L,GL^*,G^*

输出格式

如果能,输出一行 Chaotic Evil

如果不能,输出一行 Not a true problem setter

3 10
3 5 1 4 9 3 0 0 0 0 0 0
0 0 0 0 0 0 3 5 1 4 9 3
3 5 1 4 9 3 3 5 1 4 9 3
3 2

Chaotic Evil

提示

【样例解释】

给第 11 个 idea 设定风格为”简洁的题面“,此时你的守序指数为 0+3=30+3=3,善良指数为 0+5=50+5=5。你往左上方移动一步。

给第 33 个 idea 设定风格为”宽松的数据范围“,此时你的守序指数为 3+9=23+9=2,善良指数为 5+3=85+3=8。你往左下方移动一步。

给第 22 个 idea 设定风格为”无私馈赠的样例“,此时你的守序指数为 2+1=32+1=3,善良指数为 8+4=28+4=2。你往右边移动一步。此时你回到了原点并且守序指数为 33,善良指数为 22。所以你可以进入混乱邪恶阵营。

【数据范围】

保证 1n1001 \le n \le 1001p1001 \le p \le 100

保证其他输入数据在 00p1p-1 之间。

【题目来源】

来自 2021 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2021)。

题解等资源可在 https://github.com/yylidiw/thupc_1/tree/master 查看。