結果
問題 | No.2564 衝突予測 |
ユーザー | hatonobu |
提出日時 | 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")