[伯俊/c+]15654号:NとM(5)
3990 ワード
質問リンク-https://www.acmicpc.net/problem/15654
以前の系列とは異なり、構成数列の値が(ユーザ)入力となる. inputという配列が発表され,0番目のインデックスから順次値を入力しsortを用いてソートされる. 以前の問題と同様に、input[i]に対応する値をcheck[input[i]で繰り返しチェックした. [配列]は、check[]、arr[]およびinput[]配列を最初に同じサイズの10配列として宣言した. 題の条件から見ると、入力された数は10000の自然数に等しいか、またはそれ未満である. check配列は、入力した数値がfunc関数の数列作成に使用されるかどうかを確認する配列であり、check[]のインデックスは0から10000の間でなければなりません. check[1001]に変更すれば解決できます.
https://twpower.github.io/71-use-sort-and-stable_sort-in-cpp
[質問]
[回答]
#include<algorithm> 선언
sort(arr,arr+n)
- 첫번째 인자 : 배열의 시작지점 (=배열의 포인터)
- 두번재 인자 : 배열 끝나는지점+1 (=arr[배열의 포인터]+배열의 크기)
[さまよう場所]
[コード]
//15654번 : N과 M(5)
#include <iostream>
#include <algorithm>
using namespace std;
bool check[10001];
int arr[10];
int input[10];
void func(int index, int n, int m){
if(index>m){
for(int i=1; i<=m; i++){
cout<<arr[i] <<" ";
}
cout<<"\n";
return;
}
for(int i=0; i<n;i++){
if(check[input[i]])
continue;
check[input[i]]=true;
arr[index]=input[i];
func(index+1,n,m);
check[input[i]]=false;
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n,m;
cin>>n>>m;
for(int i=0; i<n; i++){
int x;
cin>>x;
input[i]=x;
}
sort(input,input+n);
// func(index,n,m);
func(1,n,m);
}
コメントサイトhttps://twpower.github.io/71-use-sort-and-stable_sort-in-cpp
Reference
この問題について([伯俊/c+]15654号:NとM(5)), 我々は、より多くの情報をここで見つけました https://velog.io/@somyeong0623/백준c-15654번-N과-M5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol