브루트 포스 6

[백준 BOJ] 10971 외판원 순회2 (python)

문제 출처 : https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 🔥 작성 코드 def sol(tot, flag, s): global result # 여행비가 결과값보다 커지면 더 볼 필요가 없다. if tot >= result: return elif sum(v) == (N-1): # 마지막에 첫 출발지로 돌아가지 못하면 없는 경로, so 고려x if arr[flag][s] != 0: tot += arr..

Algorithm/BAEKJOON 2022.03.09

[백준 BOJ] 15655 N과 M(6) (python)

https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 🔥 작성 코드 N, M = map(int, input().split()) lst = list(map(int, input().split())) arr = [] for i in range(1

Algorithm/BAEKJOON 2022.03.04

[백준 BOJ] 15654 N과 M(5) (python)

문제 출처 : https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 🔥 작성 코드 def sol(lst): if len(result) == M: a = [x for x in result] arr.append(a) return else: for i in range(N): if v[i] == 0: v[i] = 1 result.append(lst[i]) sol(lst) result.pop() v[i] = 0 return N, M = map(int..

Algorithm/BAEKJOON 2022.03.04

[백준 BOJ] 15651 N과 M(3) (python)

문제 출처 : https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 🔥 작성 코드 def sol(lst): if len(result) == M: print(*result) return else: for i in range(N): result.append(lst[i]) sol(lst) result.pop() return N, M = map(int, input().split()) lst = [i for i in range(1, N+1)] result ..

Algorithm/BAEKJOON 2022.03.04

[백준 BOJ] 15650 N과 M(2) (python)

문제 출처 : https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 🔥 작성 코드 N, M = map(int, input().split()) lst = [_ for _ in range(1, N+1)] arr = [] for i in range(1 2 3 1001 => 1 4 1010 => 2 4 1100 => 3 4 문제에서는 1 4 보다 2 3이 먼저 출력되면 안되므로 오답입니다. 그래서 result의 원소가 2개가 될 때마다 arr에 저장해두고..

Algorithm/BAEKJOON 2022.03.04

[백준 BOJ] 15649 N과 M(1) (python)

문제 출처 : https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 🔥 작성 코드 def sol(lst): if len(result) == M: print(*result) return else: for i in range(N): if v[i] == 0: v[i] = 1 result.append(lst[i]) sol(lst) result.pop() v[i] = 0 return N, M = map(int, input().split()) lst = [i..

Algorithm/BAEKJOON 2022.03.04