제출 #632510

#제출 시각아이디문제언어결과실행 시간메모리
632510karolb2011Cards (LMIO19_korteles)Cpython 3
55 / 100
1087 ms10856 KiB
import sys
input = sys.stdin.readline
     
n=int(input())
k=[[[[False for i in range(26)]for j in range(26)]for m in range(26)]for _ in range(26)]
c=[]
t=0
v0=[[0 for _ in range(26)]for _ in range(26)]
v1=[[0 for _ in range(26)]for _ in range(26)]
h0=[[0 for _ in range(26)]for _ in range(26)]
h1=[[0 for _ in range(26)]for _ in range(26)]
for i in range(n):
        a=input()
        b=input()
        a0=ord(a[0])-65
        a1=ord(a[1])-65
        b0=ord(b[0])-65
        b1=ord(b[1])-65
        if k[b0][b1][a0][a1]:
            t-=1
        if k[a1][a0][b1][b0]:
            t-=1
        if a1==b0:
                if a0==b1:
                        if k[a1][a0][b1][b0]:
                                t+=3
                ka1b1b1=k[a1][b1][b1]
                for j in range(26):
                        if k[j][a0][a0][b0]:
                            t-=1
                        if ka1b1b1[j]:
                                t-=1
        if a0==b1:
                for j in range(26):
                        ka1=k[a1]
                        kb0a0=k[b0][a0]
                        if ka1[j][b1][a1]:
                                t-=1
                        if kb0a0[j][b0]:
                                t-=1
        if a0==a1 and b0==b1:
            t-=1
        if a0==b0 and a1==b1:
            t-=1
        k[a0][a1][b0][b1]=True
        v0[a0][b0]+=1
        v1[a1][b1]+=1
        h0[a0][a1]+=1
        h1[b0][b1]+=1
for i in range(26):
    for j in range(26):
            t+=h0[i][j]*h1[i][j]
            t+=v0[i][j]*v1[i][j]
print(t)
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...