Cod sursa(job #1019914)

Utilizator Paula-ElenaPaula-Elena Margarit Paula-Elena Data 1 noiembrie 2013 10:35:24
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;

ifstream fin ("comenzi.in");
ofstream fout ("comenzi.out");

const unsigned int MAXN = 2345234;

string cuv, sol;
unsigned int N;
bool used[MAXN];

inline bool cmp (char a, char b)
{
    return a < b;
}


inline void afisare ()
{
    for (int i=0; i<N; ++i)
        fout << sol[i];
        fout << "\n";
}

inline void bkt (int p)
{
    if (p-1 == N-1)
    {
        //sol[N] = '\0';
        afisare ();
        return;
    }

    for (int i=0; i<N; ++i)
    {
        if ( !used[i])
        {
            sol[p] = cuv[i];
            used[i] = true;
            bkt (p+1);
            used[i] = false;
        }
    }
}

int main ()
{
    fin >> cuv;
    N = cuv.size();
    sort (&cuv[0], &cuv[N], cmp);

    bkt (0);

    fin.close ();
    fout.close ();

    return 0;
}