結果
| 問題 | 
                            No.2148 ひとりUNO
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2022-12-10 03:04:07 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                RE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,163 bytes | 
| コンパイル時間 | 249 ms | 
| コンパイル使用メモリ | 81,792 KB | 
| 実行使用メモリ | 78,080 KB | 
| 最終ジャッジ日時 | 2024-10-14 23:28:45 | 
| 合計ジャッジ時間 | 5,709 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 1 | 
| other | WA * 3 RE * 36 | 
ソースコード
import sys
input = sys.stdin.readline
from itertools import *
for _ in range(int(input())):
    N = int(input())
    L = [[] for _ in range(3)]
    
    for _ in range(N):
        C, D = input().split()
        D = int(D)
        
        if C=='R':
            L[0].append(D)
        elif C=='G':
            L[1].append(D)
        else:
            L[2].append(D)
    
    x = 3-[len(L[0]), len(L[1]), len(L[2])].count(0)
    
    if x==1:
        print('YES')
    elif x==2:
        l = [i for i in range(3) if len(L[i])>0]
        
        if set(L[l[0]])&set(L[l[1]])>0:
            print('YES')
        else:
            print('NO')
    else:
        ok = False
        
        for p in permutations(range(3)):
            if len(L[p[1]])==1:
                if L[p[1]][0] in L[p[0]] and L[p[1]][0] in L[p[2]]:
                    ok = True
            else:
                s1 = set(L[p[0]])&set(L[p[1]])
                s2 = set(L[p[1]])&set(L[p[2]])
                
                for x in s2:
                    if x not in s1:
                        ok = True
        
        if ok:
            print('YES')
        else:
            print('NO')