結果
| 問題 | No.3225 2×2行列相似判定 〜easy〜 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-06-17 15:37:29 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,511 bytes |
| 記録 | |
| コンパイル時間 | 511 ms |
| コンパイル使用メモリ | 84,864 KB |
| 実行使用メモリ | 87,808 KB |
| 最終ジャッジ日時 | 2026-06-17 15:37:39 |
| 合計ジャッジ時間 | 7,536 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 32 TLE * 1 |
ソースコード
A = [list(map(int, input().split())) for _ in range(2)]
B = [list(map(int, input().split())) for _ in range(2)]
def mul(p):
for i in range(2):
for j in range(2):
pa,bp = 0,0
for k in range(2):
pa += p[i][k] * A[k][j]
bp += B[i][k] * p[k][j]
if pa % 67 != bp % 67:
return False
return True
for p11 in range(67):
for p12 in range(67):
if A[0][0] != 0 or A[1][0] != 0:
for p21 in range(67):
pa = p11 * A[0][0] + p12 * A[1][0]
bp = B[0][0] * p11 + B[0][1] * p21
if pa % 67 != bp % 67:
continue
for p22 in range(67):
if (p11 * p22 - p12 * p21) % 67 == 0:
continue
P = [[p11,p12],[p21,p22]]
if mul(P):
print("Yes")
exit()
else:
for p22 in range(67):
pa = p11 * A[0][1] + p12 * A[1][1]
bp = B[0][0] * p12 + B[0][1] * p22
if pa % 67 != bp % 67:
continue
for p21 in range(67):
if (p11 * p22 - p12 * p21) % 67 == 0:
continue
P = [[p11,p12],[p21,p22]]
if mul(P):
print("Yes")
exit()
print("No")