結果
| 問題 |
No.2564 衝突予測
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-12-02 16:20:35 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 557 ms / 2,000 ms |
| コード長 | 1,893 bytes |
| コンパイル時間 | 384 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 83,948 KB |
| 最終ジャッジ日時 | 2024-09-26 20:09:18 |
| 合計ジャッジ時間 | 6,775 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 9 |
ソースコード
import sys
from collections import deque,defaultdict
import itertools
import heapq
import bisect
import math
#sys.setrecursionlimit(10 ** 9)
input = lambda: sys.stdin.readline().rstrip()
ii = lambda: int(input())
mi = lambda: map(int, input().split())
ml = lambda: map(str, input().split())
li = lambda: list(mi())
li_st = lambda: list(map(str, input().split()))
lli = lambda n: [li() for _ in range(n)]
mod = 998244353
T = ii()
def check(x,y,d,xx,yy):
if d == "U":
if yy >= y:
y += yy - y
else:
return x,y,False
elif d == "D":
if y >= yy:
y -= y - yy
else:
return x,y,False
elif d == "L":
if x >= xx:
x -= x - xx
else:
return x,y,False
else:
if xx >= x:
x += xx - x
else:
return x,y,False
return x,y,True
for i in range(T):
x1,y1,d1 = ml()
x2,y2,d2 = ml()
x1,y1 = int(x1),int(y1)
x2,y2 = int(x2),int(y2)
ans = set()
x,y,flag1 = check(x1,y1,d1,x2,y2)
xx,yy,flag2 = check(x2,y2,d2,x1,y1)
if flag1 and flag2:
ans.add((x,y))
ans.add((xx,yy))
if len(ans) == 1:
if abs(x1-x2) == abs(y1-y2):
print("Yes")
else:
print("No")
else:
n = set()
n.add(d1)
n.add(d2)
if len(n) == 1:
print("No")
else:
if n == {"U","D"}:
if x == xx:
print("Yes")
else:
print("No")
elif n == {"R","L"}:
if y == yy:
print("Yes")
else:
print("No")
else:
print("No")
else:
print("No")