오늘은 타일밟기라고 이분탐색에 대해서 배워보도록 하자.
이분탐색은 BINARY SEARCH인데 LOG N 코딩 이다.
반 뚝 잘라, 맞아 틀려 확인하고,
틀린부분은 그만검색해~가 바이너리 서치의 기본 개념
결과값은 잘 나오는데..
정보올림피아드가 뭔가 문제가 있는듯..
ㅋㅋㅋ
난 맞은걸로 !!
실행후 결과는 잘나오면 됬지!
2006년 출제문제라 이이제기를 안했나보다
정답률이 24%....
내가 한 소스 확인! ★
import math
maxd = 0
tilen = int(input())
ty = [ [1,36,[11,12,13]],
[2,56,[11,13,15,17]],
[3,60,[17,20,23]],
[4,33,[7,11,15]],
[5,18,[1,6,11]],
[5,38,[2,7,12,17]],
[6,21,[1,7,13]],
[6,51,[11,17,23]],
[7,39,[6,13,20]],
[8,45,[7,15,23]],
[9,33,[2,11,20]],
[11,36,[1,12,23]]
]
if tilen >= 3 and tilen <= 3000:
tlist = map(int, input().split())
inlist = list(tlist)
for jj in inlist:
if jj > 1000000:
maxd = -1
result = []
i = 0
if maxd == 0:
for j in ty:
#result.clear()
#print("1level",j[2])
i = 0
for x in range(len(inlist)):
#print("비교1",inlist[i:len(j[2])+i])
#print("비교2",j[2])
if len(j[2]) >= 3 and inlist[i:(len(j[2])+i)] == j[2]:
#print("result",j[1])
result.append(j[1])
maxd = j[1]
i += 1
for j in result:
if maxd < j:
maxd = j
print(maxd)