题目描述
整数 N 及び長さ N の配列 S, T, U, V が与えられます。 以下の条件を満たすような N×N の行列 a をどれか 1 つ構築してください。
- ai,j は整数である。
- 0 ≤ ai,j < 264
- Si = 0 のとき i 行目の要素のビットごとの論理積は Ui である。
- Si = 1 のとき i 行目の要素のビットごとの論理和は Ui である。
- Ti = 0 のとき i 列目の要素のビットごとの論理積は Vi である。
- Ti = 1 のとき i 列目の要素のビットごとの論理和は Vi である。
ただし、条件を満たす行列が存在しない場合もあるかもしれません。
输入格式
入力は以下の形式で標準入力から与えられる。
N S1 S2 ... SN T1 T2 ... TN U1 U2 ... UN V1 V2 ... VN
输出格式
条件を満たす行列が存在する場合は、そのような行列 1 つを以下の形式で出力せよ。
a1,1 ... a1,N : aN,1 ... aN,N
条件を満たす行列なら何を出力してもいいことに注意せよ。
条件を満たす行列が存在しない場合は −1 を出力せよ。
题目大意
给定一个整数 N 和4个长度为 N 的序列,S,T,U,V。要求构造一个 N×N 的矩阵,满足:
- ai,j 是整数。
- 0≤ai,j<264.
- 如果 Si=0,第 i 行所有数按位与的值为 Ui。
- 如果 Si=1,第 i 行所有数按位或的值为 Ui。
- 如果 Ti=0,第 i 列所有数按位与的值为 Vi。
- 如果 Ti=1,第 i 列所有数按位或的值为 Vi。
如果有解,输出答案矩阵,否则输出−1。
2
0 1
1 0
1 1
1 0
1 1
1 0
2
1 1
1 0
15 15
15 11
15 11
15 11
提示
制約
- 入力は全て整数
- 1 ≤ N ≤ 500
- 0 ≤ Si ≤ 1
- 0 ≤ Ti ≤ 1
- 0 ≤ Ui < 264
- 0 ≤ Vi < 264
Sample Explanation 1
入力例 1 では - 1 行目の要素のビットごとの論理積が 1 - 2 行目の要素のビットごとの論理和が 1 - 1 列目の要素のビットごとの論理和が 1 - 2 列目の要素のビットごとの論理積が 0 の条件を満たす行列を見つける必要があります。