https://www.acmicpc.net/problem/2529 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력 www.acmicpc.net 이 문제는 생각해보면 결국 모든 순열 조합을 만들어서 부등호를 비교해 조건에 만족하는 순열들 중 가장 큰 순열과 가장 작은 순열을 찾는 것이다. DFS와 백트랙킹을 이용해서 이전과 똑같이 순열을 만들고 부등호 관계가 옳은지를 확인한후 옳다면 ans 벡터에 넣어놓고 마지막에 정렬해서 가장 첫원소와 마지막 원소를 출력한다. #include #include #include #include #defin..
https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 이전 문제랑 똑같다. 다른점은 같은수를 여러번 골라도 되므로 if(mark[i]) continue 방문했으면 건너뛰는 이 if문만 지우면 된다. #include #include using namespace std; int N,M; int arr[10]; int mark[10]; vector v; // 벡터 v의 요소들 출력 void Print() { for(int i = 0; i < v.size..
https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 이번에는 N개중에서 M개의 숫자를 뽑아서 수열을 만든다. 또한 뽑은 숫자는 오름차순으로 출력해야 한다. 즉 N개중 M개의 숫자를 뽑아 조합을 만드는 것. 먼저 permutation을 이용해 푼 방법: #include #include #include using namespace std; int N,M; int arr[10]; int mark[10]; int main() { cin >> N >> M..
https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1부터 N까지의 숫자중 M개를 뽑아서 순열을 만드는 문제다. 이전에 올린 DFS와 재귀로 순열을 만드는 방법을 그대로 이용했다. https://tose33.tistory.com/173 DFS를 이용한 순열 만들기 얍문님의 글을 보고 공부했습니다. https://yabmoons.tistory.com/100 [ 순열과 조합 구현 ] - 재귀를 통한 구현(2 - 순열) (C++) 이번 글은 저번 글에..
- Total
- Today
- Yesterday
- Python
- priority queue
- Implementation
- back tracking
- 재귀
- BFS
- MVC
- Dijkstra
- DP
- dfs
- db
- binary search
- two pointer
- Kruskal
- recursion
- C++
- Spring
- Unity
- greedy
- CSS
- Tree
- permutation
- 이분탐색
- Stack
- Brute Force
- floyd warshall
- 자료구조
- 조합
- C
- graph
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |