#aBC164F. [ABC164F] I hate Matrix Construction

[ABC164F] I hate Matrix Construction

AT_abc164_f [ABC164F] I hate Matrix Construction

题目描述

给定一个整数 NN 以及长度为 NN 的数组 SSTTUUVV。请构造一个满足以下条件的 N×NN \times N 矩阵 aa(只需构造出任意一个即可)。

  • ai,ja_{i,j} 是整数。
  • 0ai,j<2640 \leq a_{i,j} < 2^{64}
  • Si=0S_i = 0 时,第 ii 行所有元素的按位与等于 UiU_i
  • Si=1S_i = 1 时,第 ii 行所有元素的按位或等于 UiU_i
  • Ti=0T_i = 0 时,第 ii 列所有元素的按位与等于 ViV_i
  • Ti=1T_i = 1 时,第 ii 列所有元素的按位或等于 ViV_i

注意,可能不存在满足条件的矩阵。

输入格式

输入通过标准输入给出,格式如下:

NN S1S_1 S2S_2 \ldots SNS_N T1T_1 T2T_2 \ldots TNT_N U1U_1 U2U_2 \ldots UNU_N V1V_1 V2V_2 \ldots VNV_N

输出格式

如果存在满足条件的矩阵,则输出任意一个满足条件的矩阵,格式如下:

a1,1a_{1,1} ...... a1,Na_{1,N} :: a2,1a_{2,1} ...... a2,Na_{2,N} :: \ldots :: aN,1a_{N,1} ...... aN,Na_{N,N}

如果不存在满足条件的矩阵,则输出 1-1

输入输出样例 #1

输入 #1

2
0 1
1 0
1 1
1 0

输出 #1

1 1
1 0

输入输出样例 #2

输入 #2

2
1 1
1 0
15 15
15 11

输出 #2

15 11
15 11

说明/提示

限制

  • 所有输入均为整数。
  • 1N5001 \leq N \leq 500
  • 0Si10 \leq S_i \leq 1
  • 0Ti10 \leq T_i \leq 1
  • 0Ui<2640 \leq U_i < 2^{64}
  • 0Vi<2640 \leq V_i < 2^{64}

样例解释 1

在输入样例 11 中,需要找到一个矩阵,使得:

  • 11 行所有元素的按位与为 11
  • 22 行所有元素的按位或为 11
  • 11 列所有元素的按位或为 11
  • 22 列所有元素的按位与为 00

由 ChatGPT 4.1 翻译