#L5520. 「PA 2019 Final」Pionki
「PA 2019 Final」Pionki
5520. 「PA 2019 Final」Pionki
题目描述
题目译自 PA 2019 Final Pionki
给定一个三维棋盘,由尺寸为 的长方体中的立方体单元格组成。每个单元格可以用一组数字 表示,其中 ,,。对于每个单元格,我们知道其初始包含的棋子数量,单元格 中有 个棋子。在一次移动中,你可以选择一个至少包含一个棋子的单元格,并将其中的一个棋子移动到相邻的单元格 、 或 ,前提是目标单元格存在。
对于每个单元格,我们还知道一个目标值 。你的任务是判断是否可以通过一系列移动(可能是零次移动),使得每个单元格 中的棋子数量正好为 。
输入格式
输入数据的第一行包含一个整数 ,表示测试数据的数量。
接下来是 组测试数据的描述。每组测试数据以一行开始,包含三个整数 ,表示棋盘的尺寸。接着是 个块,每个块包含 行。每行包含 个整数,第 个块的第 行的第 个数字是 。随后,以相同格式给出目标值 。
每组测试数据总共包含 个块。为提高可读性,相邻块之间用空行分隔。在每组测试数据中, 的总和等于 的总和。
所有测试数据的 值总和不超过 。
输出格式
输出应包含恰好 行,如果在第 组测试数据中可以执行一系列移动从初始状态到达目标状态,在第 行输出 TAK,否则输出 NIE。
样例
输入
2
2 3 4
2 0 0 1
0 0 1 0
1 0 0 0
0 1 0 0
1 0 0 0
0 0 0 0
0 0 1 0
0 1 0 0
0 0 0 0
1 0 0 0
0 0 0 0
0 0 0 4
2 2 2
2 2
2 1
2 1
1 1
1 1
1 2
1 2
2 2
输出
NIE
TAK
第二组测试数据中,以下是从初始状态到目标状态的一系列移动:
