
예제 입력 1
7 1 2 3 4 5 6 7
8 1 2 3 5 8 13 21 34
0
예제 출력 1
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 6 7
1 2 3 5 6 7
1 2 4 5 6 7
1 3 4 5 6 7
2 3 4 5 6 7
1 2 3 5 8 13
1 2 3 5 8 21
1 2 3 5 8 34
1 2 3 5 13 21
1 2 3 5 13 34
1 2 3 5 21 34
1 2 3 8 13 21
1 2 3 8 13 34
1 2 3 8 21 34
1 2 3 13 21 34
1 2 5 8 13 21
1 2 5 8 13 34
1 2 5 8 21 34
1 2 5 13 21 34
1 2 8 13 21 34
1 3 5 8 13 21
1 3 5 8 13 34
1 3 5 8 21 34
1 3 5 13 21 34
1 3 8 13 21 34
1 5 8 13 21 34
2 3 5 8 13 21
2 3 5 8 13 34
2 3 5 8 21 34
2 3 5 13 21 34
2 3 8 13 21 34
2 5 8 13 21 34
3 5 8 13 21 34
추가적인것 2차원 resize하는거 ㄱemind
int n
cin >>n;
vector <vector<int>> new;
new.reszie(n);
for(int = 0 ; i < n;i++)
{
new[i].resize(n);
}
or
vector <vector<int>> new(n, vector<int>(n));
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<vector<int>> input_list;
int input_value;
int value_result[6];
void result_function(int layer,int count)
{
if(count==6)
{
for(int i=0 ; i<6 ; i++)
{
cout<<value_result[i]<<" ";
}
cout<<"\n";
return;
}
if(layer>=input_value) return;
for(int i=layer ; i<input_value ; i++)
{
value_result[count]=input_list[0][i];
result_function(i+1,count+1);
}
}
int main()
{
while(1)
{
cin>>input_value;
if(input_value == 0)
{
return 0;
}
vector <int> row_value(input_value);
for(int i = 0; i<input_value ; i++)
{
cin>>row_value[i];
}
input_list.clear();
input_list.push_back(row_value);
result_function(0,0);
cout<<"\n";
}
}