Pagini recente » Cod sursa (job #3211117) | Cod sursa (job #3358885) | Profil UnseenMarksman | Cod sursa (job #3341694) | Cod sursa (job #1019914)
#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;
}