結果
問題 |
No.2104 Multiply-Add
|
ユーザー |
![]() |
提出日時 | 2025-06-12 17:10:35 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,122 bytes |
コンパイル時間 | 232 ms |
コンパイル使用メモリ | 81,804 KB |
実行使用メモリ | 54,232 KB |
最終ジャッジ日時 | 2025-06-12 17:10:41 |
合計ジャッジ時間 | 5,145 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 9 WA * 23 |
ソースコード
def solve(): import sys a, b, c, d = map(int, sys.stdin.readline().split()) if a == c and b == d: print(0) return if (a == 0 and b == 0): if c == 0 and d == 0: print(0) else: print(-1) return if (a == c) and (b == d): print(0) return if (c == 0): k = -b if b == 0: print(-1) return if a + k * b == c: print(1) print(1, k) return if (d == 0): k = -a if a == 0: print(-1) return if b + k * a == d: print(1) print(2, k) return def try_case(k1, k2, k3, k4): x = a y = b for t, k in zip([1, 2, 1, 2], [k1, k2, k3, k4]): if t == 1: nx = x + k * y if abs(nx) > 1e9: return False x = nx else: ny = y + k * x if abs(ny) > 1e9: return False y = ny if x == c and y == d: return (k1, k2, k3, k4) return False if try_case(3, 1, -2, -1): print(4) print("1 3") print("2 1") print("1 -2") print("2 -1") return if try_case(-3, -1, 2, 1): print(4) print("1 -3") print("2 -1") print("1 2") print("2 1") return if try_case(-3, 1, 2, -1): print(4) print("1 -3") print("2 1") print("1 2") print("2 -1") return if try_case(3, -1, -2, 1): print(4) print("1 3") print("2 -1") print("1 -2") print("2 1") return if try_case(1, 1, 1, 1): print(4) print("1 1") print("2 1") print("1 1") print("2 1") return if try_case(-1, -1, -1, -1): print(4) print("1 -1") print("2 -1") print("1 -1") print("2 -1") return print(-1) solve()