Pagini recente » Cod sursa (job #1085307) | Cod sursa (job #1528861) | Cod sursa (job #2143571) | Cod sursa (job #861570) | 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;
}