Pagini recente » Istoria paginii runda/simulare.oji.2015/clasament | Calibrare limite de timp | Istoria paginii runda/concurs_pd/clasament | Istoria paginii runda/simulareoji2017/clasament | Cod sursa (job #1410420)
#include <iostream>
#include <fstream>
int p[9];
void permutari(int size, int pos )
{
if ( pos == size + 1 )
{
for ( int i = 1; i <= size; ++i )
{
std::cout << p[i] << " ";
}
std::cout << std::endl;
}
else
{
for( int j = 1; j <= size; ++j )
{
int exists = false;
for ( int i = 1; i < pos; ++i )
{
if ( p[i] == j )
{
exists = true;
break;
}
}
if ( exists == false )
{
p[pos] = j;
permutari(size,pos+1);
}
}
}
}
int main( int argc, char* argv[] )
{
std::ifstream input( "permutari.in" );
std::ofstream output( "permuatari.out" );
int N;
input >> N;
permutari(N,1);
input.close();
output.close();
return 0;
}