File tree Expand file tree Collapse file tree 1 file changed +9
-9
lines changed Expand file tree Collapse file tree 1 file changed +9
-9
lines changed Original file line number Diff line number Diff line change 11// Authored by : BaaaaaaaaaaarkingDog
2- // Co-authored by : -
3- // http://boj.kr/2a245058ecd74055bf168363740139a4
2+ // Co-authored by : Kim-AYoung
3+ // http://boj.kr/8b2349aeb550430a9cc40497eaaded05
44#include < bits/stdc++.h>
55using namespace std ;
66
77int n, m;
88int arr[10 ];
9- bool isused[10 ];
109
1110void func (int k){ // 현재 k개까지 수를 택했음.
1211 if (k == m){ // m개를 모두 택했으면
@@ -18,12 +17,8 @@ void func(int k){ // 현재 k개까지 수를 택했음.
1817 int st = 1 ; // 시작지점, k = 0일 때에는 st = 1
1918 if (k != 0 ) st = arr[k-1 ] + 1 ; // k != 0일 경우 st = arr[k-1]+1
2019 for (int i = st; i <= n; i++){
21- if (!isused[i]){ // 아직 i가 사용되지 않았으면
22- arr[k] = i; // k번째 수를 i로 정함
23- isused[i] = 1 ; // i를 사용되었다고 표시
24- func (k+1 ); // 다음 수를 정하러 한 단계 더 들어감
25- isused[i] = 0 ; // k번째 수를 i로 정한 모든 경우에 대해 다 확인했으니 i를 이제 사용되지않았다고 명시함.
26- }
20+ arr[k] = i; // k번째 수를 i로 정함
21+ func (k+1 ); // 다음 수를 정하러 한 단계 더 들어감
2722 }
2823}
2924
@@ -33,3 +28,8 @@ int main(void){
3328 cin >> n >> m;
3429 func (0 );
3530}
31+
32+ /*
33+ 어차피 그 전에 사용된 수의 다음부터 for문을 돌기 때문에
34+ isused가 필요하지 않다.
35+ */
You can’t perform that action at this time.
0 commit comments