Pagini recente » Diferente pentru problema/grad intre reviziile 4 si 3 | Cod sursa (job #1757468) | Diferente pentru problema/hardtask intre reviziile 16 si 15 | Diferente pentru problema/superbec intre reviziile 30 si 29 | Cod sursa (job #1794928)
#include <iostream>
#include <fstream>
using namespace std;
int v[30],n,k;
ifstream f("permutari.in");
ofstream g("permutari.out");
int valid(int c)
{
bool ok=true;
int i=1;
while(i<c && ok)
{
if(v[i]==v[c]) ok=false;
++i;
}
return ok;
}
int main()
{
f>>n;
k=1;
while(k>0)
{
if(v[k]<n)
{
++v[k];
if(valid(k))
{
if(k==n)
{
for(int i=1;i<=n;++i)
{
g<<v[i]<<' ';
}
g<<"\n";
}
else
{
++k;
v[k]=0;
}
}
}
else --k;
}
return 0;
}