분류 전체보기 (402) 썸네일형 리스트형 [백준 19566번] 수열의 구간 평균 (Python3) import sys input = sys.stdin.readline N,K = map(int,input().split()) data = [*map(int,input().split())] sumlist = [0] for i in range(N): sumlist.append(sumlist[-1]+data[i]) difflist = [0]*(N+1) for i in range(N+1): difflist[i] = sumlist[i]-K*i diffdict = {} for i in range(N+1): d = difflist[i] if diffdict.get(d): diffdict[d] += 1 else: diffdict[d] = 1 result = 0 for d in diffdict: cnt = diffdict.. [백준 10875번] 뱀 (Python3) import sys input = sys.stdin.readline INF = 10**9 def crossed(i,j): global dead x1,y1,x2,y2 = line[i] x3,y3,x4,y4 = line[j] if min(x1,x2)>max(x3,x4) or min(x3,x4)>max(x1,x2) or min(y1,y2)>max(y3,y4) or min(y3,y4)>max(y1,y2): return INF dead = True if x1==x2: return min(abs(y3-y1),abs(y4-y1))+1 else: return min(abs(x3-x1),abs(x4-x1))+1 L = int(input()) N = int(input()) L1 = L+1 line = [(-L1,L1,L1.. [백준 1285번] 동전 뒤집기 (Python3) import sys input = sys.stdin.readline def turn(n): for i in range(N): board[i][n] = abs(board[i][n]-1) N = int(input()) board = [] for i in range(N): board.append([*map(lambda x:1 if x=="T" else 0,input().strip())]) result = N**2 bitlast = 0 for bit in range(1 [백준 4716번] 풍선 (Python3) import sys input = sys.stdin.readline while True: N,A,B = map(int,input().split()) if not N: break balloon = [0]*N diff = [] SUM = 0 for i in range(N): k,a,b = map(int,input().split()) SUM += k*a balloon[i] = k diff.append((b-a,i)) A -= k diff.sort() i = 0 while i 0: break A += k B -= k SUM += d*k i += 1 balloon[n] += A SUM -= d*A B += A while i=0 or B-k [백준 16637번] 괄호 추가하기 (Python3) import sys input = sys.stdin.readline def cal(a,x,b): if x == "*": return int(a)*int(b) if x == "+": return int(a)+int(b) if x == "-": return int(a)-int(b) def DFS(SUM,n): global result if n == N: result = max(result,SUM) return if n < N-1: DFS(cal(SUM,eq[n*2+1],cal(eq[n*2+2],eq[n*2+3],eq[n*2+4])),n+2) DFS(cal(SUM,eq[n*2+1],eq[n*2+2]),n+1) N = int(input()) N //= 2 eq = input().strip() result = -.. [백준 4195번] 친구 네트워크 (Python3) import sys input = sys.stdin.readline def findparent(x): if parent[x] != x: parent[x] = findparent(parent[x]) return parent[x] def union(x,y): parentx,parenty = findparent(x),findparent(y) if parentx == parenty: return cntlist[parentx] += cntlist[parenty] parent[parenty] = parentx T = int(input()) for _ in range(T): parent = {} cntlist = {} N = int(input()) for i in range(N): x,y = input().split.. [백준 23290번] 마법사 상어와 복제 (Python3) import sys input = sys.stdin.readline dy = [-1,-1,0,1,1,1,0,-1] dx = [0,-1,-1,-1,0,1,1,1] def movefish(): newocean = [[[] for i in range(4)] for i in range(4)] for y in range(4): for x in range(4): for d in ocean[y][x]: cant = True for i in range(8): y1,x1 = y+dy[(d+i)%8],x+dx[(d+i)%8] if 4>y1>=0 and 4>x1>=0 and [y1,x1] != shark and not smell[y1][x1]: newocean[y1][x1].append((d+i)%8) cant = Fals.. [백준 18436번] 수열과 쿼리 37 (Python3) import sys input = sys.stdin.readline def makeseg(start,end,x): if start == end: seg[x] = data[start] else: mid = (start+end)//2 seg[x] = makeseg(start,mid,x*2)+makeseg(mid+1,end,x*2+1) return seg[x] def updateseg(diff,n,start,end,x): seg[x] += diff if start == end: return mid = (start+end)//2 if n 이전 1 ··· 29 30 31 32 33 34 35 ··· 51 다음 목록 더보기