From d6984de1db3168678d5c5b26e857b891d9ce0988 Mon Sep 17 00:00:00 2001 From: learntosurf Date: Sat, 19 Apr 2025 23:53:39 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[BOJ]=20#6603.=EB=A1=9C=EB=98=90=20/=20?= =?UTF-8?q?=EC=8B=A4=EB=B2=842=20/=2040(X)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...9-[BOJ]-#6603-\353\241\234\353\230\220.py" | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 "learntosurf/Backtracking/2025-04-19-[BOJ]-#6603-\353\241\234\353\230\220.py" diff --git "a/learntosurf/Backtracking/2025-04-19-[BOJ]-#6603-\353\241\234\353\230\220.py" "b/learntosurf/Backtracking/2025-04-19-[BOJ]-#6603-\353\241\234\353\230\220.py" new file mode 100644 index 0000000..5ab89ac --- /dev/null +++ "b/learntosurf/Backtracking/2025-04-19-[BOJ]-#6603-\353\241\234\353\230\220.py" @@ -0,0 +1,26 @@ +import sys + +def backtrack(S, path, start): + if len(path) == 6: + print(' '.join(map(str, path))) + return + for i in range(start, len(S)): + path.append(S[i]) + backtrack(S, path, i + 1) + path.pop() + +lines = sys.stdin.read().splitlines() +first_case = True + +for line in lines: + if line == '0': + break + + parts = list(map(int, line.strip().split())) + S = parts[1:] + + if not first_case: + print() + first_case = False + + backtrack(S, [], 0) \ No newline at end of file From 035af907623cf4356bd70ef2c6bd69852015a09b Mon Sep 17 00:00:00 2001 From: learntosurf Date: Sat, 19 Apr 2025 23:56:37 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[BOJ]=20#15649.N=EA=B3=BC=20M=20(1)=20/=20?= =?UTF-8?q?=EC=8B=A4=EB=B2=843=20/=2030(O)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...25-04-19-[BOJ]-#15649-N\352\263\274M(1).py" | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 "learntosurf/Backtracking/2025-04-19-[BOJ]-#15649-N\352\263\274M(1).py" diff --git "a/learntosurf/Backtracking/2025-04-19-[BOJ]-#15649-N\352\263\274M(1).py" "b/learntosurf/Backtracking/2025-04-19-[BOJ]-#15649-N\352\263\274M(1).py" new file mode 100644 index 0000000..3f4f1ed --- /dev/null +++ "b/learntosurf/Backtracking/2025-04-19-[BOJ]-#15649-N\352\263\274M(1).py" @@ -0,0 +1,18 @@ +N, M = map(int, input().split()) +visited = [False] * (N + 1) # 1부터 N까지 사용 여부 +result = [] + +def backtrack(): + if len(result) == M: + print(' '.join(map(str, result))) + return + + for i in range(1, N + 1): + if not visited[i]: + visited[i] = True + result.append(i) + backtrack() + result.pop() # 상태 복원 + visited[i] = False # 방문 초기화 + +backtrack() \ No newline at end of file