333
Cerința
Se citesc de la tastatură un cuvânt s format din litere mici distincte și un număr natural n. Să se afișeze pe ecran toate cuvintele care se pot obține din s eliminând exact n litere.
Exemplu
Intrare
dorel 2
Ieșire
dor doe dol dre drl del ore orl oel rel
Explicație
Din cele 5 litere se elimina două, astfel:
dor – se elimina a 4-a si a 5-a litera
doe – se elimina a 3-a si a 5-a litera
dol – se elimina a 3-a si a 4-a litera
dre
drl
del
ore
orl
oel – se elimina prima si a 3-a litera
rel – se elimina prima si a 2-a litera
#include <bits/stdc++.h>
using namespace std;
int x[30] , s , n , p[30];
char cuv[30];
int afisare()
{
for(int i = 1 ; i <= n - s ; i++)
cout << cuv[x[i]-1];
cout << '\n';
}
void back(int k)
{
for(int i = x[k - 1] + 1 ; i <= n ; i++)
{
x[k] = i;
if(k == n - s) afisare();
else back(k + 1);
}
}
int main()
{
cin >> cuv >> s;
n = strlen(cuv);
back(1);
}
Comentarii