問題はこちら
3完
A,Bは愚直な実装
Cは問題文の”反転して一致するときも同じとみなす”の部分が面倒
→与えられた文字列をすべて辞書順にして管理することで反転を考えなくてすむ
##################### A N, P, Q = list(map(int, input().split())) D = list(map(int, input().split())) print(min(P, Q + min(D))) ##################### B N, M= list(map(int, input().split())) P =[] C =[] F =[] for i in range(N): ln = list(map(int, input().split())) P.append(ln[0]) C.append(ln[1]) F.append(set(ln[2:])) # print(F) flag = "No" for i in range(N): for j in range(N): if P[i] >= P[j]: # print(i,j,"Price") if F[j] >= F[i]: # print(i,j,"F") if P[i] > P[j] or len(F[j]) > len(F[i]): # print(i,j,"Yes") flag = "Yes" break if flag == "Yes": break print(flag) ##################### C N = int(input()) ln = set([]) for i in range(N): line = input() ln.add(min(line,line[::-1])) print(len(ln))