Pagini recente » Cod sursa (job #1981681) | Cod sursa (job #2990401) | Cod sursa (job #2770978) | Cod sursa (job #3142006) | Cod sursa (job #826756)
Cod sursa(job #826756)
#include <fstream>
#include <vector>
int main(){
std::ifstream fin("permutari.in");
std::ofstream fout("permutari.out");
unsigned short n;
fin>>n;
short i=0;
std::vector<unsigned short> k(n,0);
std::vector<bool> ink(n+1,false); ink[0]=true;
while(i>-1){
unsigned short j;
for(j=k[i];j<=n&&ink[j];++j);
if(j>n){ink[k[i]]=false; k[i]=0; i--;}
else{
if(k[i]!=0) ink[k[i]]=false;
k[i]=j; ink[j]=true;
if(i==n-1){
for(unsigned short x=0;x<n;++x) fout<<k[x]<<' ';
fout<<'\n';
}
else i++;
}
}
}