[Coding Test]
[백준] 1707 파이썬(python) : 이분 그래프
https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V와 간선의 개수 E가 빈 칸을 사이에 www.acmicpc.net from collections import deque import sys sys.setrecursionlimit(10**6) k = int(sys.stdin.readline()) def dfs(start, group): visit[start] = group for i in graph[start]: if not visit[i]: a = dfs(i, -group) if not a: return Fal..
[백준] 16928 파이썬(python) : 뱀과 사다리 게임 - (★)
16928번: 뱀과 사다리 게임 import sys from collections import deque n, m = map(int, sys.stdin.readline().split()) graph = [ i for i in range(100+1) ] #1 for _ in range(n+m): #2 a, b = map(int, sys.stdin.readline().split()) graph[a] = b visited = [0] * (101) #3 def bfs(): q = deque() q.append(1) while q: now = q.popleft() for i in range(1, 6+1): #4 next = now + i #5 if next > 100: #6 continue ladder = gra..
[백준] 7562 파이썬(python) : 나이트의 이동
7562번 : 나이트의 이동 from collections import dequeimport sysdx = [ -2, -1, 1, 2, 2, 1, -1, -2 ] #1dy = [ -1, -2, -2, -1, 1, 2, 2, 1 ]t = int(input())for _ in range(t): #2 i = int(sys.stdin.readline()) #3 graph = [ [0] * i for _ in range(i) ] x, y = map(int, sys.stdin.readline().split()) #4 w, z = map(int, sys.stdin.readline().split()) q = deque() q.append((x, y)) while q: ..
[백준] 1697 파이썬(python) : 숨바꼭질 - (★)
1697번 : 숨바꼭질 from collections import deque n, k = map(int, input().split()) MAX = 10**5 #1 distance = [0] * (MAX + 1) #2 def bfs(): q = deque() q.append(n) while q: x = q.popleft() if x == k: #3 print(distance[x]) break for nx in (x-1, x+1, 2*x): #4 if 0
[백준] 7569 파이썬(python) : 토마토 - 3차원배열
7569번: 토마토 import sys from collections import deque m, n, h = map(int, sys.stdin.readline().split()) q = deque() graph = [ [list(map(int, sys.stdin.readline().split())) for _ in range(n) ] for _ in range(h) ] #1 dx = [ -1, 1, 0, 0, 0, 0 ] #2 dy = [ 0, 0, -1, 1, 0, 0 ] dz = [ 0, 0, 0, 0, -1, 1 ] for i in range(h): #3 for j in range(n): for k in range(m): if graph[i][j][k] == 1: q.append((i, j, k)..
[백준] 7576 파이썬(python) : 토마토 - (★)
7576번: 토마토 from collections import deque import sys m, n = map(int, input().split()) graph = [ list(map(int, sys.stdin.readline().split())) for _ in range(n) ] q = deque() res = 0 #1 dx = [ 0, 0, -1, 1 ] dy = [ -1, 1, 0, 0 ] def bfs(): while q: x, y = q.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0