Pagini recente » Monitorul de evaluare | Atasamentele paginii Profil ihorvalds | Istoria paginii utilizator/atomique13 | Sandbox | Cod sursa (job #366945)
Cod sursa(job #366945)
/*
* File: main.cpp
* Author: virtualdemon
*
* Created on November 21, 2009, 4:18 PM
*/
#include <vector>
#include <fstream>
#include <cstdlib>
#include <iterator>
#include <algorithm>
#define pb push_back
/*
*
*/
using namespace std;
ifstream in;
ofstream out;
inline void swap( int& x, int& y )
{
x+=y;
y=x-y;
x-=y;
}
int main(int argc, char** argv)
{int N, i, k, till;
int *v;
in.open("permutari.in");
in>>N;
v=new int[N];
for( i=0; i <N; ++i )
v[i]=i+1;
out.open("permutari.out");
while( true )
{
for( i=0; i < N; ++i )
out<<v[i]<<' ';
out<<'\n';
for( i=N-2; i >= 0 && v[i] > v[i+1]; --i );
if( i < 0 )
break;
for( k=N-1; v[i] > v[k]; --k );
swap( v[i], v[k] );
for( i+=1, k=N-1; i < k; ++i, --k )
swap( v[i], v[k] );
}
//delete[] v;
return EXIT_SUCCESS;
}