문제 https://www.acmicpc.net/problem/15657 15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 문제 풀이 백트래킹 코드 import sys input = sys.stdin.readline N, M = map(int,input().split()) LIST = sorted(list(map(int,input().split()))) total = [] def back(s): if len(total) == M: print(*total) return total for i in range..
백준 풀이
문제 https://www.acmicpc.net/problem/15656 문제 풀이 백트래킹 코드 import sys input = sys.stdin.readline N, M = map(int,input().split()) List = sorted(list(map(int,input().split()))) total = [] def back(): if len(total) == M: print(*total) return for i in List: total.append(i) back() total.pop() back()
문제 https://www.acmicpc.net/problem/21736 21736번: 헌내기는 친구가 필요해 2020년에 입학한 헌내기 도연이가 있다. 도연이는 비대면 수업 때문에 학교에 가지 못해 학교에 아는 친구가 없었다. 드디어 대면 수업을 하게 된 도연이는 어서 캠퍼스 내의 사람들과 친해지고 www.acmicpc.net 문제 풀이 bfs 코드 import sys from collections import deque input = sys.stdin.readline N,M = map(int,input().split()) Map = [[] for _ in range(N)] for i in range(N): string = input().strip() if 'I' in string: x_idx, y_i..
문제 https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 문제 풀이 백트래킹 기본 코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) LIST = sorted(list(map(int,input().split()))) total = [] def back(s): if len(total) == M: print(*total) return for i in range(s..
문제 https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 문제 풀이 백트래킹 기본 코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) LIST = sorted(list(map(int,input().split()))) visited = [0 for _ in range(N)] total = [] def back(): if len(total) == M: print(..
문제 https://www.acmicpc.net/problem/15652 문제 풀이 백트래킹 기본 코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) total = [] def back(s): if len(total) == M: print(*total) return for i in range(s,N): total.append(i+1) back(i) total.pop() back(0)
문제 https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 풀이 백트래킹 기본 코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) total = [] def back(): if len(total) == M: print(*total) return for i in range(N): total.append(i+1) back() total.pop() back()
문제 https://www.acmicpc.net/problem/15666 문제 풀이 백트래킹 기본 코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) LIST = sorted(list(set(map(int,input().split())))) total = [] def back(s): if len(total) == M: print(*total) return for i in range(s,len(LIST)): total.append(LIST[i]) back(i) total.pop() back(0)