Cod sursa(job #3259990)

Utilizator addanciuAdriana Danciu addanciu Data 28 noiembrie 2024 19:05:45
Problema Problema Damelor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
/*
[P1]. Se citeste un cuvant. Sa se afiseze toate 
anagramele cuvantului, in ordine lexicografica, eliminand literele
duplicate din cuvant
Exemplu: maria => aimr, airm, etc.
*/
#include <fstream>

using namespace std;

ifstream cin("pb.in");
ofstream cout("pb.out");

bool viz[256];
char sol[256], t[256];
int f[26];

int k;

void afis()
{
    sol[k] = '\0';
    cout << sol << '\n';
}

void bkt(int l)
{
    if(l == k)
    {
        afis();
        return;
    }
    for(int i = 0; i < k; i++)
        if(!viz[i])
        {
            viz[i] = 1;
            sol[l] = t[i];
            bkt(l + 1);
            viz[i] = 0;
        }
}
int main(){
    char s[256];
    cin.getline(s, 256);
    int n = strlen(s);
    for(int i = 0; i < n; i++)
        f[s[i] - 'a'] = 1;
    for(int i = 0; i <= 25; i++)
        if(f[i])
        {
            t[k++] = (char)(i + 'a');
        }
    bkt(0);
    return 0;
}