#AT2207. C - Filling 3x3 array

C - Filling 3x3 array

C - 填充3x3数组

分数:300分

问题描述

给定六个整数:$h_1, h_2, h_3, w_1, w_2$ 和 $w_3$。
考虑在 $3 \times 3$ 网格的每个方格上写一个正整数,以满足以下所有条件:

  • 对于 $i=1,2,3$,从顶部开始,第 $i$ 行上的数字之和为 $h_i$。
  • 对于 $j=1,2,3$,从左边开始,第 $j$ 列上的数字之和为 $w_i$。

例如,如果 $(h_1, h_2, h_3) = (5, 13, 10)$ 且 $(w_1, w_2, w_3) = (6, 13, 9)$,那么以下三种方式都满足条件。(还有其他满足条件的方式。)

image

有多少种写数字的方式可以满足这些条件?

约束

  • $3 \leq h_1, h_2, h_3, w_1, w_2, w_3 \leq 30$
  • 输入中的所有值均为整数。

输入

输入在标准输入中给出,格式如下:

h1h_1 h2h_2 h3h_3 w1w_1 w2w_2 w3w_3

输出

打印满足条件的写数字的方式的数量。


3 4 6 3 3 7
1

以下是唯一满足条件的方式。因此,输出 $1$。

image2


3 4 5 6 7 8
0

可能没有一种满足条件的方式。


5 13 10 6 13 9
120

20 25 30 22 29 24
30613