All pastes #2064407 Raw Edit

Someone

public cpp v1 · immutable
#2064407 ·published 2011-05-19 10:48 UTC
rendered paste body
#include <cstdlib>#include <iostream>#include <vector>using namespace std;bool valid(vector <int> v){    bool val=true;    for(int i=0; i<v.size(); i++)        for(int k=i+1; k<v.size(); k++)            if (v[i]==v[k]) val=false;    return val;}void write (vector <int> v){    for(int k=0; k<v.size(); k++)        cout<<v[k]<<" ";    cout<<endl;}void generate_permutations(int n){    vector <int> vec;    for(int i=1; i<=n; i++)    {        vec.push_back(i);        int k=1;        while(k>1)        {            vec.push_back(k);            if(!valid(vec))            {                vec.pop_back(); k++;}            else            {                if(vec.size()==n)                {                    write(vec);                    vec.pop_back();                    k--;                }                else                {                    if(vec[k]<n)                    {                        vec[k]++;                        k++;                    }                    else                    {                        vec.pop_back();                        k--;                    }                }            }        }        vec.clear();    }}int main(int argc, char *argv[]){    int n;    cout<<"nr: ";    cin>>n;    generate_permutations(n);    return 0;}