結果
問題 | No.3031 曲面の向き付け |
ユーザー |
![]() |
提出日時 | 2025-02-21 23:32:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,328 ms / 2,000 ms |
コード長 | 1,820 bytes |
コンパイル時間 | 859 ms |
コンパイル使用メモリ | 81,976 KB |
実行使用メモリ | 204,572 KB |
最終ジャッジ日時 | 2025-02-21 23:32:59 |
合計ジャッジ時間 | 13,702 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 29 |
ソースコード
n=int(input())e={}v=[]for i in range(n):a,b,c=map(int,input().split())for p in [(a,b),(b,c),(a,c)]:if p not in e:e[p]=[]e[p]+=[(a,b,c)]if len(e[p])==3:print("NO")exit()v+=[(a,b,c)]u=set()f={o:0 for o in v}for o in v:if o not in u:q=[o]u.add(o)for s in q:a,b,c=sfor p in [(a,b),(b,c),(a,c)]:if len(e[p])==2:t=e[p][e[p][0]==s]ta,tb,tc=tif t not in u:q+=[t]u.add(t)if f[s]:if p==(a,b):f[t]=int(a==ta and b==tc)if p==(b,c):f[t]=int(b==ta and c==tc)if p==(a,c):f[t]=1-int(a==ta and c==tc)else:if p==(a,b):f[t]=1-int(a==ta and b==tc)if p==(b,c):f[t]=1-int(b==ta and c==tc)if p==(a,c):f[t]=int(a==ta and c==tc)else:if f[s]:if p==(a,b):if f[t]!=int(a==ta and b==tc):print("NO")exit()if p==(b,c):if f[t]!=int(b==ta and c==tc):print("NO")exit()if p==(a,c):if f[t]!=1-int(a==ta and c==tc):print("NO")exit()else:if p==(a,b):if f[t]!=1-int(a==ta and b==tc):print("NO")exit()if p==(b,c):if f[t]!=1-int(b==ta and c==tc):print("NO")exit()if p==(a,c):if f[t]!=int(a==ta and c==tc):print("NO")exit()print("YES")