(파이썬) 백준 알고리즘 2178번 미로 탐색
문제풀이 (Python) 123456789101112131415161718192021222324252627282930313233from collections import deque # dx[0], dy[0] => 오른쪽# dx[1], dy[1] => 왼쪽# dx[2], dy[2] => 아래# dx[3], dy[3] => 위dx = [0, 0, 1, -1]dy = [1, -1, 0, 0] n, m = map(int, input().split())a = [list(map(int, list(input()))) for _ in range(n)]q = deque()check = [[False]*m for _ in range(n)]dist = [[0]*m for _ in range(n)] # 시작점q.append(..
2019. 1. 9.
(파이썬) 백준 알고리즘 15650번 N과 M(2)
문제풀이 (Python) 123456789101112131415161718import sysn,m = map(int,input().split())c = [False]*(n+1)a = [0]*m def go(index, start, n, m): if index == m: sys.stdout.write(' '.join(map(str,a))+'\n') for i in range(start, n+1): if c[i]: continue c[i] = True a[index] = i go(index+1, i+1, n, m) c[i] = False go(0,1,n,m) Colored by Color Scriptercs 1. 재귀 함수를 사용하여 수열을 만듦2. 중복이 불가능 하기 때문에 check를 사용하여 True이..
2019. 1. 9.
(파이썬) 백준 알고리즘 15649 번 N과 M(1)
문제풀이 (Python) 12345678910111213141516171819202122n,m = map(int,input().split()) check = [False]*(n+1)a = [0]*m def go(index, n, m): if index == m: for i in range(m): print (a[i], end = ' ') print() return for i in range(1, n+1): if check[i]: continue check[i] = True a[index] = i go(index+1, n, m) check[i] = False go(0,n,m) Colored by Color Scriptercs 1. 재귀 함수를 사용하여 수열을 만듦2. 중복이 불가능 하기 때문에 check를..
2019. 1. 9.