<SW>/알고리즘 + 자료구조
[재귀] 15651번 N과 M (3)
Hading
2018. 10. 17. 13:59
728x90
https://www.acmicpc.net/problem/15651
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 | #include<iostream> #include<vector> using namespace std; int n, m; void function(int index, vector<int> &pick) { if (index == m) { for (int i = 0; i < pick.size(); i++) { cout << pick[i] << " "; } cout << endl; return; } //각각의 상황별로 4가지 상황이 있다. 0~3 for (int i = 1; i <= n; i++) { //넣어주면, 재귀함수에 의해 다시 돌아왔을때 넣은 것을 꼭 빼줘야한다. pick.push_back(i); function(index + 1, pick); pick.pop_back(); } } int main() { cin >> n >> m; vector<int>pick; //index 0부터 시작, //빈 벡터를 함께 보내준다. function(0, pick); return 0; } | cs |
728x90