분류 전체보기 (402) 썸네일형 리스트형 [백준 9525번] 룩 배치하기 (Python3) def DFS(i): if visited[i]: return visited[i] = 1 for j in graph[i]: if not match[j]: match[j] = i return 1 for j in graph[i]: if DFS(match[j]): match[j] = i return 1 def Graph(): num = [[[0]*N for i in range(N)] for i in range(2)]; r=c=0 for i in range(N): for j in range(N): if board[i][j]!=2: if board[i][j-1]==2: r += 1 num[0][i][j] = r for j in range(N): for i in range(N): if board[i][j]!=2: i.. [백준 1574번] 룩 어택 (Python3) import sys def input(): return map(int,sys.stdin.readline().split()) def DFS(i): if visited[i]: return visited[i] = 1 for j in graph[i]: if not match[j]: match[j] = i return 1 for j in graph[i]: if DFS(match[j]): match[j] = i return 1 r,c,N = input() board = [[1]*(c+1) for i in range(r+1)] for _ in range(N): y,x = input() board[y][x] = 0 graph = [[] for i in range(r+1)] for i in range(1,r+1): fo.. [백준 1760번] N-Rook (Python3) import sys input = sys.stdin.readline def DFS(i): if visited[i]: return visited[i] = 1 for j in graph[i]: if not match[j]: match[j] = i return 1 for j in graph[i]: if DFS(match[j]): match[j] = i return 1 def Graph(): num = [[[0]*M for i in range(N)] for i in range(2)]; r = c = 0 for i in range(N): for j in range(M): if board[i][j]!=2: if board[i][j-1]==2: r += 1 num[0][i][j] = r for j in range(M.. [백준 1867번] 돌멩이 제거 (Python3) import sys def input(): return map(int,sys.stdin.readline().split()) def DFS(i): if visited[i]: return visited[i] = 1 for j in graph[i]: if not match[j]: match[j] = i return 1 for j in graph[i]: if DFS(match[j]): match[j] = i return 1 N,M = input() graph = [[] for i in range(N+1)] for _ in range(M): a,b = input() graph[a].append(b) match = [0]*(N+1) for i in range(1,N+1): visited = [0]*(N+1) DFS.. [백준 1671번] 상어의 저녁식사 (Python3) def DFS(i): if visited[i]: return visited[i] = 1 for j in graph[i]: if not match[j]: match[j] = i return 1 for j in graph[i]: if DFS(match[j]): match[j] = i return 1 shark = [0]+[[*map(int,input().split())] for i in range(int(input()))] N = len(shark) graph = [[] for i in range(N)] for i in range(1,N): for j in range(1,N): i1,i2,i3 = shark[i]; j1,j2,j3 = shark[j] if i==j or i1 [백준 1017번] 소수 쌍 (Python3) def sieve(): prime = set(); check = [0]*2000 for n in range(2,2000): if check[n]: continue prime.add(n) for n in range(n,2000,n): check[n] = 1 return prime def DFS(i): if visited[i]: return visited[i] = 1 for e in graph[i]: if not match[e]: match[e] = i return 1 for e in graph[i]: if DFS(match[e]): match[e] = i return 1 def solve(): global visited for i in range(2,N): visited = [0]*N; visited[1].. [백준 11376번] 열혈강호 2 (Python3) import sys input = sys.stdin.readline def DFS(i): if visited[i]: return visited[i] = 1 for w in graph[i//2]: if work[w] [백준 11375번] 열혈강호 (Python3) import sys input = sys.stdin.readline def DFS(now): for w in graph[now]: if visited[w]: continue visited[w] = 1 if work[w]>=0: DFS(work[w]) if work[w] 이전 1 ··· 4 5 6 7 8 9 10 ··· 51 다음