問題一覧 >
教育的問題
No.2446 完全列
レベル :
/ 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ :
/
解いたユーザー数 16
作問者 : 👑
p-adic
/ テスター :
👑
AngrySadEight
問題文最終更新日: 2023-08-30 09:55:39
問題文
入力に 3 個の正整数 L,M,N と、整数係数 L×M 行列 A と整数係数 M×N 行列 B が与えられます。
(A,B) が良い組であるとは、任意の実数係数 M 次元縦ベクトル x に対して以下の 2 条件が同値であるということです:
- Ax が零ベクトルである。
- x=By を満たす実数係数 N 次元縦ベクトル y が存在する。
(A,B) が良い組か否かを判定してください。
背景
左から A を掛ける操作が定める線形写像 RM→RLを g、左からB を掛ける操作が定める線形写像 RN→RMを f と置きます。ホモロジー代数という分野においては、(A,B) が良い組であるということを、線形写像の列
RN→fRM→gRL
が完全であると表現したり、完全列であると表現したりします。完全列という概念は代数の加群論や幾何などで多用されますし、圏論でも広く扱われていて近代数学における基本的な道具の1つです。
入力
以下、行列 C の列数以下の正整数 i と行数以下の正整数 j に対し、Ci,j で C の (i,j) 成分を表します。
入力は以下の形式で標準入力から 1+L+M 行で与えられます。
- 1 行目に L,M,N が半角空白区切りで与えられます。
- L 以下の各正整数 i に対し、1+i 行目に M 以下の各正整数 j に対する Ai,j が j の小さい順に半角空白区切りで与えられます。
- M 以下の各正整数 j に対し、1+L+j 行目に N 以下の各正整数 k に対する Bj,k が k の小さい順に半角空白区切りで与えられます。
L M N
A1,1 ⋯ A1,M
⋮
AL,1 ⋯ AL,M
B1,1 ⋯ B1,N
⋮
BM,1 ⋯ BM,N
制約
入力は以下の制約を満たします:
- L,M,N は 1≤L,M,N かつ LM,MN≤15 を満たす整数
- A,B の各成分 a は −6≤a≤6 を満たす整数
出力
(A,B) が良い組である場合はYes
と、良い組でない場合はNo
と出力してください。
最後に改行してください。
サンプル
サンプル1
入力
1 1 1
-2
3
出力
No
A=(−2) かつ B=(3) です。実数係数 1 次元縦ベクトル x を (1) と定めると、Ax=(−2⋅1)=(−2) は零ベクトルではありませんが、実数係数 L=1 次元縦ベクトル y を (3−1) と定めると x=By が成り立ちます。
サンプル2
入力
1 1 1
0
0
出力
No
A=(0) かつ B=(0) です。実数係数 1 次元縦ベクトル x を (1) と定めると、Ax=(0⋅1)=(0) は零ベクトルですが、x=By を満たす実数係数 L=1 次元縦ベクトル y は存在しません。
サンプル3
入力
1 2 1
1 0
0
1
出力
Yes
AB==(10)(01)
です。x を実数係数 2 次元縦ベクトル x とし、実数 x0,x1 を用いて
x=(x0x1)
と置きます。Ax=(1⋅x0+0⋅x1)=(x0) より、Ax が零ベクトルである必要十分条件は x0=0 です。
x0=0 ならば、実数係数 1 次元縦ベクトル y を (x1) と定めると x=By となります。逆に x=By を満たす実数係数 1 次元縦ベクトル y が存在するならば、実数 y0 を用いて y=(y0) と置くと
(x0x1)=x=By=(01)(y0)=(0y0)
となるので、第 1 成分を比較することで x0=0 であることが分かります。以上より、x0=0 であることと x=By を満たす実数係数 1 次元縦ベクトル y が存在することは同値です。すなわち (A,B) は良い組です。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。