Cod sursa(job #2405023)
Utilizator | Data | 13 aprilie 2019 20:26:02 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.75 kb |
#include <fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int n;
int st[11];
void tipar(){
int i;
for(i = 1 ; i <= n ; i++){
g << st[i] << " ";
}
g << "\n";
}
bool valid (int k){
int i;
for(i = 1 ; i < k ; i++)
if(st[i] == st[k])
return 0;
return 1;
}
void back(){
int k = 1;
st[k] = 0;
while(k){
while(st[k] < n){
st[k] ++;
if(valid(k))
if(k == n)
tipar();
else{
k++;
st[k] = 0;
}
}
k--;
}
}
int main(){
f >> n;
back();
return 0;
}