Pagini recente » Monitorul de evaluare | Diferente pentru problema/div3 intre reviziile 13 si 8 | Diferente pentru problema/secv intre reviziile 7 si 1 | Cod sursa (job #1556293) | Cod sursa (job #1159362)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("submultimi.in");
ofstream fout("submultimi.out");
int n;
vector <int> sol;
bool ap[20];
void afisare ()
{
for(vector <int>::iterator i=sol.begin();i<sol.end();i++)
fout<<*i<<' ';
fout<<'\n';
}
void back (int k)
{
if(k!=0)
afisare();
for(int i=(k==0)?1:sol[k-1];i<=n;i++)
if(ap[i]==0){
ap[i]=1;
sol.push_back(i);
back(k+1);
ap[i]=0;
sol.pop_back();
}
}
int main()
{
fin>>n;
back(0);
return 0;
}