티스토리 뷰
반응형
백준 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
- 우선순위 큐
- CSS
- Do it!
- 세그먼트 트리
- 투 포인터
- 자바
- html
- DFS
- 알고리즘
- 백준 풀이
- 유클리드 호제법
- 알고리즘 공부
- C++ Stack
- 반복문
- 자료구조
- 이분 매칭
- 자바스크립트
- java
- 백준
- 스택
- HTML5
- 에라토스테네스의 체
- 카운팅 정렬
- DP
- 유니온 파인드
- C++
- BFS
- js
- c++ string
- 스프링 부트 crud 게시판 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 |
30 | 31 |
글 보관함