王助教填数独

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 0 总提交人数: 0

题目描述

王助教想要填写一个数独。数独是说每种数字每行、每列、每个3*3区域中1~9每种数字都只能出现一个

王助教经常记不清自己可以填什么数字。现在王助教把这个数独给你,请你帮王助教看一看能够填写什么数字吧。

就算你给王助教建议,王助教不会真的填的。王助教眼光很短浅,只要考虑当前能否成立就可以了。

输入

先输入9行,每行9个整数dij,表示数独9*9的格子。

0表示这个地方可以填写数字,1~9代表王助教填写的数字。

然后输入n,代表王助教想要填写的位置数量。

接下来n行,每行2个整数i,j表示王助教想要填写的行坐标i和列坐标j。

$0 \leq d_{ij} < 10$
$0 < n \leq 1000$
$0 < i < 10$
$0 < j < 10$

输出

对于每个坐标,输出一行,表示能使数独能够成立的所有可能填写(从小到大排列)。 如果没有可能的填写请输出一行Impossible。

输入样例

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

输出样例

1 2 7 9
Impossible

样例解释

数独如下图。在(4,5)格填写3,4,5,6,8都会使数独无法成立。

相关推荐