Se dau n
cuvinte formate doar din litere mici. Trebuie construit un nou cuvânt C
de n
litere format astfel: prima literă a lui C
este din primul cuvânt, a doua literă este din al doilea cuvânt, …, a n
-a literă este din cel de-al n
-lea cuvânt. În plus, literele cuvântului C
trebuie să fie distincte.
Cerința
Să se determine cuvântul C
minim lexicografic ce se poate forma utilizând litere distincte extrase din cuvintele inițiale.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi cele n
cuvinte separate prin spațiu.
Date de ieșire
Programul va afișa pe ecran cuvântul C
minim lexicografic care se poate obține din litere distincte.
Restricții și precizări
1 ≤ n ≤ 9
- Cele
n
cuvinte au cel puțin o literă și cel mult6
litere - Este garantat că
C
se poate forma din cuvintele inițiale
Exemplu
Intrare
3 gem de caise
Ieșire
eda
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema cuv:
#include <bits/stdc++.h>
using namespace std;
char a[11][7];
int d[11], n, st[11], viz[26];
void Citire()
{
int i;
cin >> n;
for (i = 1; i <= n; i++)
{
cin >> a[i];
d[i] = strlen(a[i]);
sort(a[i], a[i] + d[i]);
}
}
void Afisare()
{
for (int i = 1; i <= n; i++)
cout << a[i][st[i]];
cout << "\n";
exit(0);
}
void Back(int top)
{
if (top == n + 1) Afisare();
else for (int i = 0; i < d[top]; i++)
{
int j = a[top][i] - 'a';
if (viz[j] == 0)
{
viz[j] = 1;
st[top] = i;
Back(top + 1);
viz[j] = 0;
}
}
}
int main()
{
Citire();
Back(1);
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2710 cuv
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2710 cuv de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!