#P2576. [ZJOI2005] 梦幻折纸
[ZJOI2005] 梦幻折纸
Description
你仔细观察了一下纸的特点:
纸的大小为 ,上面等距离的印好了格线, 条横线和 条竖线(线的宽度忽略不计)。这些格线将纸分成了 个大小完全相同的正方形小格。你的同桌已经在每一块小格 上写下了一个互不相同的正整数 ,。
“他干嘛在纸上写下这么些数字呢?”你看着这些数字,疑惑不解。
这时,你的同桌突然出现了,他发现你正拿着他的纸,看着上面的数字发呆。于是傻乎乎地对你说:
“我刚刚也想学你折纸,可是我很笨,只折出一个 的正方形,也就是一个 层纸的纸垛,每一层恰好是一个小格,所有的格线都恰好在正方形的边界上。”
“哦,折得不错,挺好的。”你口里说不错,心里却暗笑:没见过你这么笨的。居然把这么好的纸折成一个如此简单的正方形,简直是暴殄天物,罪过啊,罪过!
“是吗?你也觉得不错啊?我刚刚就在想,如果给这些小格编上号,最上面一层编为 ,从上往下数的第 层编为 ,那么能不能从这些编号复原出刚刚我折的那个图形呢?于是我就在这些格子上写下了它们的编号”
“这……”你一时语塞,确切的说,惊讶得说不出话来,原来一向傻乎乎的同桌脑子里也有这么深奥的想法。
“这样吧,如果你能根据我把我刚刚折的正方形折出来,那我就把这张纸送给你!” 同桌接着说,“不管你折法是否和我一样,只要折出来也是个 的正方形,从上往下数的第 层的编号恰好也是 ,并且纸不能破,就算你折对了。”
“好啊,不过我先要检查检查你有没有骗我,要是你故意骗我或者自己粗心在编号的时候写错了数字而害得我折不出来,我可饶不了你!”
Input Format
第一行为整数 ,代表输入数据的总数。
以下有 组数据,每组数据的结构如下:
第一行两个正整数 。
以下 行,每行 个正整数,相邻两个整数之间用一个空格隔开,描述矩阵 。
Output Format
输出 行,对应 个输入数据。
对于第 组数据,输出 AllRight——如果可以折出来;输出 Cheat——如果折不出来。
4
1 7
3 1 7 6 5 4 2
2 2
1 2
3 4
2 3
2 1 6
3 4 5
4 4
11 12 15 14
10 9 16 13
5 8 1 2
6 7 4 3
AllRight
Cheat
AllRight
AllRight
京公网安备 11011102002149号