64,691
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<vector>
#include<stack>
using namespace std;
void setVector(vector<vector<int> > &a)
{ // 这个只是用来构建测试数据的,别当真了。
vector<int> a1;
int an[]={6,5,4,7,3};
for (int i=0;i<5;++i)
{
a.push_back(a1);
for (int j=0;j<an[i];++j)
a[i].push_back(j+1);
}
}
void output(vector<vector<int> > &a,int c)
{
static int ai[100];
if (c<0)
{
for (int i=0;i<a.size();++i)
cout<<ai[i]<<" ";
cout<<endl;
}
else
{
for (int i=0;i<a[c].size();++i)
{
ai[c]=a[c][i];
output(a,c-1);
}
}
}
int main()
{
vector<vector<int> > a;
setVector(a); // 构建数组,这个部分我就偷懒了哈
output(a,a.size()-1); // 递归输出
return 0;
}