結果
| 問題 |
No.2564 衝突予測
|
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2023-11-14 19:37:15 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 430 ms / 2,000 ms |
| コード長 | 1,102 bytes |
| コンパイル時間 | 291 ms |
| コンパイル使用メモリ | 82,460 KB |
| 実行使用メモリ | 77,908 KB |
| 最終ジャッジ日時 | 2024-09-26 08:04:06 |
| 合計ジャッジ時間 | 5,273 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 9 |
ソースコード
rotate = ["R", "U", "L", "D"]
def solve():
x_1, y_1, d_1 = input().split()
x_1 = int(x_1); y_1 = int(y_1)
d_1 = rotate.index(d_1)
x_2, y_2, d_2 = input().split()
x_2 = int(x_2); y_2 = int(y_2)
d_2 = rotate.index(d_2)
# d_1 が R になるように回転させる
while d_1 != 0:
x_1, y_1 = -y_1, x_1
x_2, y_2 = -y_2, x_2
d_1 += 1; d_1 %= 4
d_2 += 1; d_2 %= 4
# 衝突しないパターン
if x_1 > x_2:
print("No")
return
# d_2 ごとに場合分けする
match rotate[d_2]:
case "R":
print("No")
case "U":
if x_2 - x_1 == y_1 - y_2:
print("Yes")
else:
print("No")
case "L":
if y_1 == y_2:
print("Yes")
else:
print("No")
case "D":
if x_2 - x_1 == y_2 - y_1:
print("Yes")
else:
print("No")
T = int(input())
for _ in range(T):
solve()