[백준 1114번] 통나무 자르기 (Python3)
from bisect import * def cutting(l): i = 0; MAX = 0 for _ in range(C): idx = bisect(cut,l+cut[i])-1 MAX,i = max(MAX,cut[idx]-cut[i]),idx return max(MAX,L-cut[i]),L-cut[i] L,K,C = map(int,input().split()) cut = [0]+sorted({*map(lambda x:L-int(x),input().split())}) l,c,M,x = 1
[백준 16952번] 체스판 여행 2 (Python3)
from collections import * dy = [[1,-1,0,0],[1,-1,1,-1],[1,1,-1,-1,2,2,-2,-2]] dx = [[0,0,1,-1],[1,1,-1,-1],[2,-2,2,-2,1,-1,1,-1]] def start(): for i in range(N): for j in range(N): if board[i][j]==1: return i,j def BFS(): result = C = 1e5 visited = [[[[[(1e5,0)]*N*N for i in range(N)] for i in range(N)] for i in range(3)] for i in range(8)] dq = deque([(p,*S,1,0,-1,0) for p in range(3)]) while d..
[백준 16959번] 체스판 여행 1 (Python3)
from collections import * dy = [[1,-1,0,0],[1,-1,1,-1],[1,1,-1,-1,2,2,-2,-2]] dx = [[0,0,1,-1],[1,1,-1,-1],[2,-2,2,-2,1,-1,1,-1]] def start(): for i in range(N): for j in range(N): if board[i][j]==1: return i,j def BFS(): visited = [[[[[0]*N*N for i in range(N)] for i in range(N)] for i in range(3)] for i in range(8)] dq = deque([(p,*S,1,0,-1) for p in range(3)]) while dq: p,y,x,n,cnt,d = dq.pop..