Pagini recente » Cod sursa (job #2583146) | Cod sursa (job #1136047) | Istoria paginii runda/simulare_03_04_2019/clasament | Cod sursa (job #1878680) | Cod sursa (job #792640)
Cod sursa(job #792640)
#include <fstream>
using namespace std;
ifstream fin("submultimi.in");
ofstream fout("submultimi.out");
short int x[17], n;
bool used[17];
void Write(int k)
{
for ( int i = 1; i <= k; i++ )
{
fout << x[i] << ' ';
}
fout << '\n';
}
bool valid(int k, int n)
{
if ( used[x[k]] )
return 0;
if ( x[k] < x[k-1] )
return 0;
if ( k > n )
return 0;
return 1;
}
void back(int k, int n)
{
for ( int i = 1; i <= n; i++ )
{
x[k] = i;
if ( valid(k,n))
{
used[i] = 1;
if ( k <= n )
{
Write(k);
}
back(k+1,n);
used[i] = 0;
}
}
}
int main()
{
fin >> n;
back(1,n);
return 0;
}