atcder ABC310 B - Strictly Superiorの復習
・参考:
ABC310 B問題(Strictly Superior)を解く - プロひろ
・備考:本番でWAが消せなかったので復習。基本的には問題文の条件の通りにやればよい。
n,m=map(int, input().split()) p=[] c=[] f=[] for _ in range(n): l=list(map(int, input().split())) p.append(l[0]) l=l[1:] c.append(l[0]) l=l[1:] f.append(l) #print(p,c,f) for i in range(n): for j in range(n): flag=1 if i==j or p[i]<p[j]: #条件のPi>=Pjより continue for k in range(c[i]): if f[i][k] not in f[j]: #条件のj番目の製品はi番目の製品の機能を全て持つことから、1つでも持ってないとflagを0にする。 flag=0 if flag: if p[i]>p[j] or c[i]<c[j]: #条件のPi>Pjか、j番目の製品はi番目の製品にない機能をもつことより。 print("Yes") exit() print("No")