結果
問題 |
No.3278 Avoid Division
|
ユーザー |
👑 |
提出日時 | 2025-09-19 23:13:35 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,637 bytes |
コンパイル時間 | 439 ms |
コンパイル使用メモリ | 83,024 KB |
実行使用メモリ | 68,912 KB |
最終ジャッジ日時 | 2025-09-19 23:13:41 |
合計ジャッジ時間 | 4,874 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 14 WA * 4 RE * 6 |
ソースコード
class Var: def __init__(self, val, idx): self.idx = idx self.val = val def __str__(self): return chr(self.idx + ord("a")) class ArrayVal: def __init__(self, val, idx): self.idx = idx self.val = val def __str__(self): return f"A[{self.idx + 1}]" Value = Var | ArrayVal N = int(input()) variables = [Var(0, i) for i in range(26)] answer = [] def add(x: Var, y: Value, z: Value): global variables variables[x.idx] = Var(y.val + z.val, x.idx) answer.append(f"add {x} {y} {z}") def mul(x: Var, y: Value, z: Value): global variables variables[x.idx] = Var(0 if y.val * z.val == 0 else 1, x.idx) answer.append(f"mul {x} {y} {z}") def div(x: Var, y: Value, z: Value): global variables variables[x.idx] = Var(y.val // z.val, x.idx) answer.append(f"div {x} {y} {z}") commands, A = [], [] for i in range(N): cmd, a = input().split() a = int(a) commands.append(cmd) A.append(ArrayVal(a, i)) for i in range(N): cmd = commands[i] a = A[i] if cmd == "+": if variables[1].val == 0: add(variables[0], variables[1], a) else: mul(variables[-1], variables[1], a) add(variables[0], variables[0], variables[-1]) elif cmd == "*": mul(variables[0], variables[0], a) elif cmd == "/": if variables[1].val == 0: add(variables[1], variables[1], a) else: mul(variables[1], variables[1], a) if variables[1] != 0: div(variables[0], variables[0], variables[1]) print(len(answer)) print(*answer, sep="\n")