Pagini recente » Cod sursa (job #2291817) | Cod sursa (job #2324991) | Cod sursa (job #476422) | Cod sursa (job #1489024) | Cod sursa (job #3155196)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("submultimi.in");
ofstream fout ("submultimi.out");
int n;
vector<int> v;
void back()
{
if (v.size()==n)
{
for (int i = 0; i < v.size(); i++)
fout << v[i] << " ";
fout << "\n";
return;
}
for (int i = 0; i < v.size(); i++)
fout << v[i] << " ";
if (v.size())
fout << "\n";
for (int i = 1; i <= n; i++)
{
int ok = 1;
for (int j = 0; j < v.size(); j++)
{
if (i <= v[j])
{
ok = 0;
break;
}
}
if (ok == 0) continue;
v.push_back(i);
back();
v.pop_back();
}
}
int main()
{
fin >> n;
back();
return 0;
}
//#include <iostream>
//#include <fstream>
//#include <vector>
//
//using namespace std;
//
//ifstream fin ("submultimi.in");
//ofstream fout ("submultimi.out");
//
//int n;
//vector<int> v;
//void back(int k)
//{
// if (v.size()==k)
// {
// for (int i = 0; i < v.size(); i++)
// fout << v[i] << " ";
// fout << "\n";
// }
// for (int i = (v.size()==0 ? 1 : v[v.size()-1] + 1); i <= n; i++)
// {
// v.push_back(i);
// back(k);
// v.pop_back();
// }
//}
//
//int main()
//{
// fin >> n;
// for (int i = 1; i <= n; i++)
// back(i);
// return 0;
//}