結果
| 問題 | 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")
            
            
            
        