Cod sursa(job #651901)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 22 decembrie 2011 09:56:22
Problema Submultimi Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <cstdio>
#include <iostream>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;

int k,v[30],n;
vector<string> m[30];

void f(int poz)
{
	int i;
	if(poz>k)
	{
		string x;
	//	for(i=1;i<=k;i++) cout<<v[i]<<" ";	
	//	cout<<endl;
		for(i=1;i<=k;i++){ x.push_back(v[i]+'0'); x.push_back(' ');  }
		
		m[v[1]].push_back(x);
		
		x.clear();
		
		return;
	}
	for(i=v[poz-1]+1;i<=n;i++)
	{
		v[poz]=i;
		f(poz+1);
	}

}



int main()
{
	freopen("submultimi.in","r", stdin);
	freopen("submultimi.out","w", stdout);
	scanf("%d",&n);
	for(k=1;k<=n;k++) f(1);
	for(int i=1;i<=n;i++)
	{
		sort(m[i].begin(),m[i].end());
		for(int j=0;j<m[i].size();j++) cout<<m[i][j]<<"\n";
		// cout<<endl;
		
		
	}

	return 0;
}