Cod sursa(job #672642)
| Utilizator | Data | 2 februarie 2012 21:07:47 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | tema124 | Marime | 0.65 kb |
#include<iostream>
using namespace std;
int st[100],n,v;
void afisare (int p)
{
int i;
for(i=1;i<=p;i++) cout<<st[i];
cout<<endl;
}
int valid(int p)
{
int i;
for (i=1;i<p;i++)
if(st[i]==st[p]) return 0;
if(abs(st[p-1]-st[p])<v)return 0;
return 1;
}
void back(int p)
{
int pval;//pval valorile pt niv. p
for(pval=1;pval<=n;pval++)
{st[p]=pval;
if(valid(p))
if(p==n)
afisare(p);
else back(p+1);}
}
int main()
{
cin>>n;
cin>>v;
back (1);
system("pause");
return 0;
}
