#3036
La nașterea unei fete în tribul Ragan Ama părinții trebuie să îi găsească cel mai frumos nume posibil. Sunt considerate nume frumoase doar anagramele unui cuvânt care, în limba lor, înseamnă “frumoasă ca roua dimineților, blândă ca mângâierea vântului printre frunze, binecuvântată de lumina soarelui și a lunii”.
Viața fetei va sta sub o stea norocoasă dacă numele său este cel mai mic din punct de vedere lexicografic, diferit de al oricăreia dintre fetele din trib. Fiindcă astăzi în trib s-a născut o fetiță, scrieți un program care, cunoscând numele fetelor din trib, rezolvă următoarele cerințe:
1. afișează numele pe care părinții ar trebui să i-l dea fetei pentru ca viața să-i stea sub o stea norocoasă;
2. determină câte nume frumoase, diferite de cele ale fetelor din trib, există.
ONIGIM 2019, baraj
| Problema | raganama | Operații I/O |
raganama.in/raganama.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 8 MB
/
Stivă 4 MB
|
| Id soluție | #64591643 | Utilizator | |
| Fișier | raganama.cpp | Dimensiune | 7.44 KB |
| Data încărcării | 17 Mai 2026, 13:28 | Scor/rezultat | 90 puncte |
raganama.cpp: In function ‘std::ofstream& operator<<(std::ofstream&, const NrMare&)’: raganama.cpp:78:43: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: 78 | for(i=x.lg-1;i>=0;i--) fout<<x.cifre[i]; | ^ In file included from /usr/include/c++/13/ostream:880, from /usr/include/c++/13/istream:41, from /usr/include/c++/13/fstream:40, from raganama.cpp:1: /usr/include/c++/13/bits/ostream.tcc:110:5: note: candidate 1: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]’ 110 | basic_ostream<_CharT, _Traits>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ raganama.cpp:75:11: note: candidate 2: ‘std::ofstream& operator<<(std::ofstream&, const NrMare&)’ 75 | ofstream& operator<<(ofstream& fout,const NrMare& x) | ^~~~~~~~ raganama.cpp: In member function ‘const NrMare NrMare::operator*(int) const’: raganama.cpp:121:28: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 121 | if(b==0 || cifre[0]==0 && lg==1) | ~~~~~~~~~~~~^~~~~~~~ raganama.cpp: In member function ‘const NrMare NrMare::operator*(const NrMare&) const’: raganama.cpp:141:16: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 141 | if(b.lg==1 && b.cifre[0]==0 || lg==1 && cifre[0]==0) | ~~~~~~~~^~~~~~~~~~~~~~~~ raganama.cpp: In function ‘void c2()’: raganama.cpp:313:16: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: 313 | fout<<rez<<'\n'; | ^~~~ /usr/include/c++/13/ostream:570:5: note: candidate 1: ‘std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, char) [with _Traits = char_traits<char>]’ 570 | operator<<(basic_ostream<char, _Traits>& __out, char __c) | ^~~~~~~~ raganama.cpp:75:11: note: candidate 2: ‘std::ofstream& operator<<(std::ofstream&, const NrMare&)’ 75 | ofstream& operator<<(ofstream& fout,const NrMare& x) | ^~~~~~~~ raganama.cpp:298:18: warning: unused variable ‘lgb’ [-Wunused-variable] 298 | int i,nrn,lg,lgb; | ^~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.001 secunde | OK. | 5 | 5 | ||
| 2 | 0.001 secunde | OK. | 5 | 5 | ||
| 3 | 0.002 secunde | OK. | 5 | 5 | ||
| 4 | 0.004 secunde | OK. | 5 | 5 | ||
| 5 | 0.005 secunde | OK. | 10 | 10 | ||
| 6 | 0.004 secunde | OK. | 10 | 10 | ||
| 7 | 0.006 secunde | OK. | 10 | 10 | ||
| 8 | 0.009 secunde | OK. | 10 | 10 | ||
| 9 | 0.013 secunde | OK. | 10 | 10 | ||
| 10 | 0.012 secunde | Raspuns gresit. | 10 | 0 | ||
| 11 | 0.009 secunde | OK. | 10 | 10 | ||
| 12 | 0.013 secunde | OK. | 10 | 10 | ||
| Punctaj total | 90 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema raganama face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.