Cod sursa(job #1182427)
| Utilizator | Data | 6 mai 2014 13:20:24 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.96 kb |
#include <fstream>
using namespace std;
int v[20], n;
void init(int k)
{
v[k] = 0;
}
bool amsuccesor(int k)
{
if(v[k] < n)
{
v[k]++;
return 1;
}
else
return 0;
}
bool evalid(int k)
{
for(int k = 1; i < k; i++)
{
if(v[k] == v[i])
return 0;
}
return 1;
}
int main()
{
ifstream f("permutar.in");
ofstream g("permutari.out");
int k = 1;
f<<n;
init(k);
while(k > 0)
{
if(amsuccesor(k))
{
if(evalid(k))
{
if(k == n)
{
for(int i = 1; i <= n; i++)
g<<v[i]<<" ";
g<<endl;
}
else
{
k++;
init(k);
}
}
}
else
k--;
}
return 0;
}
