n>32일때는 비둘기집 원리에 따라서 0을 출력했고, n<=32일때는 브루트포스로 다 돌렸다.
시간초과가 뜨지 않을까 라는 생각에 다른 방법을 찾았었는데... 일단 떠오르는 것을 해보는 습관을 가져야겠다.
애초에 32*32*32가 5만도 넘지 않는다..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import sys
input = sys.stdin.readline
t = int(input())
while t:
ans = 999999
t -= 1
n = int(input())
a = list(map(str, input().split()))
if n > 32:
print(0)
else:
for i in range(n):
for j in range(n):
for k in range(n):
tmp = 0
if i == j or j == k or i == k:
continue
for x in range(4):
if a[i][x] != a[j][x]: tmp += 1
if a[j][x] != a[k][x]: tmp += 1
if a[i][x] != a[k][x]: tmp += 1
ans = min(tmp, ans)
print(ans)
|
cs |
오타, 오류 지적 환영합니다.
'백준 문제풀이' 카테고리의 다른 글
백준 16161 - 가장 긴 증가하는 팰린드롬 부분수열 [Python] (0) | 2021.01.06 |
---|---|
백준 20531 - 인간관계 [Python] (0) | 2021.01.04 |
백준 20528 - 끝말잇기 [Python] (0) | 2021.01.04 |
백준 14939 - 불 끄기 [Python] (0) | 2020.12.25 |
백준 11060 - 점프 점프 [Python] (0) | 2020.12.23 |