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)
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
55 ms |
9056 KB |
Output is correct |
2 |
Correct |
52 ms |
9036 KB |
Output is correct |
3 |
Correct |
53 ms |
8948 KB |
Output is correct |
4 |
Correct |
55 ms |
8992 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
55 ms |
9056 KB |
Output is correct |
2 |
Correct |
52 ms |
9036 KB |
Output is correct |
3 |
Correct |
53 ms |
8948 KB |
Output is correct |
4 |
Correct |
55 ms |
8992 KB |
Output is correct |
5 |
Correct |
52 ms |
8996 KB |
Output is correct |
6 |
Correct |
56 ms |
9080 KB |
Output is correct |
7 |
Correct |
64 ms |
9116 KB |
Output is correct |
8 |
Correct |
62 ms |
9064 KB |
Output is correct |
9 |
Correct |
70 ms |
9092 KB |
Output is correct |
10 |
Correct |
69 ms |
8996 KB |
Output is correct |
11 |
Correct |
56 ms |
8984 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1087 ms |
10856 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
56 ms |
8984 KB |
Output is correct |
2 |
Correct |
200 ms |
9280 KB |
Output is correct |
3 |
Correct |
847 ms |
10828 KB |
Output is correct |
4 |
Correct |
544 ms |
10096 KB |
Output is correct |
5 |
Correct |
498 ms |
10180 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
52 ms |
8996 KB |
Output is correct |
2 |
Correct |
56 ms |
9080 KB |
Output is correct |
3 |
Correct |
64 ms |
9116 KB |
Output is correct |
4 |
Correct |
62 ms |
9064 KB |
Output is correct |
5 |
Correct |
70 ms |
9092 KB |
Output is correct |
6 |
Correct |
69 ms |
8996 KB |
Output is correct |
7 |
Correct |
56 ms |
8984 KB |
Output is correct |
8 |
Correct |
55 ms |
9056 KB |
Output is correct |
9 |
Correct |
52 ms |
9036 KB |
Output is correct |
10 |
Correct |
53 ms |
8948 KB |
Output is correct |
11 |
Correct |
55 ms |
8992 KB |
Output is correct |
12 |
Execution timed out |
1087 ms |
10856 KB |
Time limit exceeded |
13 |
Halted |
0 ms |
0 KB |
- |