15649번: N과 M (1) (acmicpc.net)
##
n개중 m개를 뽑는건데
##
import itertools
N,M = map(int,input().split())
l = [i for i in range(1,N+1)]
for i in itertools.permutations(l,M):
print(*i)
python
```cpp
int n = ?, k = ?;
vector<int> v(n), tar; // 원소가 들어있다고 가정
void f(int cur, int idx) { // [cur, n)인 원소 중 하나를 idx번째 원소로 고르기
if(idx==k) {
// tar 배열에 v 배열에서의 k개 뽑기 결과가 저장되어 있는 상태
// 이후 뽑은 배열에 대해 연산 수행
return;
}
for(int i=cur; i<=n-k+idx; i++) {
tar.push_back(v[i]);
f(i+1, idx+1);
tar.pop_back();
}
}
...
f(0, 0); // 뽑기 시작
```
c++는 이렇게
동아리 자료에 있는 코드
0 댓글