[伯俊/c+]15650号:NとM(2)
2634 ワード
質問リンク-https://www.acmicpc.net/problem/15650
NとM(1)の問題は、解答方法とよく似ています(対応する解答を参照) の違いは、均一な数列が昇順であるべきであることである. の数列の次の位置を決定する関数はfunc(index+1,n,m)であり、関数パラメータにstartを追加してクエリの開始位置を決定する.
-index位置でiが定義されている場合、start位置にi+1が導入され、func(index+1,i+1,n,m)関数によってfor文のiがi+1から始まり、index+1の位置がデジタルi+1から始まる.
質問する
に答える
-index位置でiが定義されている場合、start位置にi+1が導入され、func(index+1,i+1,n,m)関数によってfor文のiがi+1から始まり、index+1の位置がデジタルi+1から始まる.
コード#コード#
//15650. N과M(2)
#include <iostream>
using namespace std;
bool check[10];
int arr[10];
void func(int index, int start, int n, int m){
if(index>m){
for(int i=1; i<=m; i++){
cout<<arr[i]<<" ";
}
cout<<"\n";
return;
}
for(int i=start; i<=n; i++){
if(check[i])
continue;
check[i]=true;
arr[index]=i;
func(index+1,i+1,n,m);
check[i]=false;
}
}
int main(){
int n,m;
cin>>n>>m;
func(1,1,n,m);
}
Reference
この問題について([伯俊/c+]15650号:NとM(2)), 我々は、より多くの情報をここで見つけました https://velog.io/@somyeong0623/백준c-15650번-N과-M2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol