티스토리 뷰
반응형
백준 10974번 모든 순열
https://www.acmicpc.net/problem/10974
10974번: 모든 순열
N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.
www.acmicpc.net
백트래킹을 이용해서 풀었습니다. 8칸의 배열을 만들어놓고 방문하지 않은 곳들을 재귀를 이용해서 방문하고 방문한 후에는 true로 체크하여 똑같은 곳을 방문하지 않도록 했습니다. 처음 보면 잘 이해가 가지 않을수도 있는데 가지치기를 생각하면 쉽게 생각할 수 있습니다.
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int n;
bool visited[8];
int v[8] = { 1,2,3,4,5,6,7,8 };
int arr[8];
void abc(int cnt) {
if (cnt == n) {
for (int x = 0; x < n; x++)
cout << arr[x] << " ";
cout << '\n';
return;
}
for (int x = 0; x < n; x++) {
if (!visited[x]) {
visited[x] = true;
arr[cnt] = v[x];
abc(cnt + 1);
visited[x] = 0;
}
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n;
abc(0);
}
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[C/C++] 백준 11004번 - k번째 수 (0) | 2023.09.13 |
---|---|
[C/C++] 백준 10988번 - 팰린드롬인지 확인하기 (0) | 2023.09.13 |
[C/C++] 백준 10953번 - A+B -6 (0) | 2023.09.13 |
[C/C++] 백준 10952번 - A+B - 5 (0) | 2023.09.13 |
[C/C++] 백준 10951번 - A+B-4 (0) | 2023.09.12 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준 풀이
- DP
- 백준
- DFS
- 반복문
- 우선순위 큐
- 스프링 부트 crud 게시판 구현
- CSS
- 알고리즘 공부
- Do it!
- 유니온 파인드
- java
- 알고리즘
- 스택
- C++
- 이분 매칭
- 자바
- 세그먼트 트리
- 자바스크립트
- 자료구조
- 에라토스테네스의 체
- js
- html
- 유클리드 호제법
- 투 포인터
- C++ Stack
- c++ string
- BFS
- HTML5
- 카운팅 정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함