A1710.纸牌游戏

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

著名学者 ACAC 狗君发明了一个纸牌游戏,在游戏中,有一个 n×mn \times m 的棋盘,(r,c)(r,c) 表示棋盘中第 rr 行第 cc 列的格子。

最初,有 kk 张牌叠放在 (1,1)(1,1) 的位置上,这 kk 张牌每一张都有一个整数,这 kk 个整数是 kk 的一个全排列(11~kk)。其它单元格都是空的。

现在,你需要移动这些牌,使得 (n,m)(n,m) 格子上的牌从上到下的序号为 11~kk,移动的规则如下:

  • 除了 (1,1)(1,1)(n,m)(n,m) 外,其它格子最多只能放一张纸牌。
  • 一张牌可以向相邻的四个区域移动(上、下、左、右)。
  • 在格子 (1,1)(1,1) 上,只能从牌堆的顶端取牌,不能将其它格子的牌放在 (1,1)(1,1) 上面。
  • 在格子 (n,m)(n,m) 上,只能将其它格子的牌放在放在它的顶端,不能将 (n,m)(n,m) 上的牌移动到其它格子。

给定 nnmmkk,请你帮 ACAC 狗判断此问题是否可解。

输入格式

每个测试包含多个测试用例。

第一行包含一个整数 TT (1T1001 \le T \le 100) — 表示测试用例的数量。

每个测试用例的第一行包含三个整数 nnmmkk (3n,m1033 \le n,m \le 10^31k1051 \le k \le 10^5) — 棋盘的大小和牌的数量。

测试用例的第二行包含 kk 个整数,代表写在纸牌上的数字,从左往右顺序是最初格子 (1,1)(1,1) 上牌堆按顺序从顶端到底部的牌。

输出格式

对于每个测试用例,如果有解则输出 YES,否则输出 NO

输入输出样例

  • 输入#1

    4
    3 3 6
    3 6 4 1 2 5
    3 3 10
    1 2 3 4 5 6 7 8 9 10
    5 4 4
    2 1 3 4
    3 4 10
    10 4 9 3 5 6 8 2 7 1

    输出#1

    YES
    NO
    YES
    YES

说明/提示

第一个样例中:

将写有 33 的卡片(11,11)->(11,22)->(11,33)。

将写有 66 的卡片(11,11)->(22,11)->(33,11)-> (33,22)->(33,33)。

将写有 44 的卡片(11,11)->(11,22)。

将写有 11 的卡片(11,11)->(22,11)->(22,22)->(22,33)。

将写有 22 的卡片(1111)->(2211)->(2222)。

将写有 55 的卡片(11,11)->(22,11)->(33,11)->(33,22)->(33,33)。

将写有 22 的卡片(22,22)->(22,11)。

将写有 44 的卡片(11,22)->(22,22)->(33,22)->(3333)。

将写有 33 的卡片(11,33)->(11,22)->(22,22)->(33,22)->(3333)。

将写有 22 的卡片(22,11)->(33,11)->(33,22)->(3333)。

将写有 11 的卡片(22,33)->(33,33)。

至此,(3,3)(3,3) 格子上的牌堆从上到下依次为 11 ~ kk

首页