Cod sursa(job #2528615)
| Utilizator | Data | 22 ianuarie 2020 11:26:45 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("permutari.in");
ofstream o("permutari.out");
int s[1000], p;
int valid(int k){
if(k>2 && s[1]==s[2]) return false;
for(int i=1;i<k;i++){
if(s[k]==s[i]) return false;
}
return true;
}
void print()
{
for(int i=1; i<=p; i++)
{
o<<s[i]<<" ";
}
o<<'\n';
}
int bac(int k)
{
for(int i=1; i<=p; i++)
{
s[k]=i;
if(k==p)
{
if(valid(k))
{
print();
}
}
else bac(k+1);
}
}
int main()
{
f>>p;
bac(1);
}
