#4588
Piticul Doc și-a securizat pin-ul cardului bancar într-un mod cunoscut doar de el. Pin-ul este format din exact 4 cifre. Doc dispune de o mulțime de informații numerice dispuse pe R rânduri. Fiecare cifră din pin-ul cardului bancar este un element majoritar pe rândul său, adică numărul de apariții ale cifrei respective este mai mare decât n / 2, unde n reprezintă numărul total de cifre de pe rândul respectiv. Tu poți afla pin-ul lui Doc sau crezi că a greșit securizarea pin-ului? Cunoscând numărul R de rânduri și numerele de pe fiecare rând, scrieţi un program care să determine pin-ul lui Doc.
OMI Iasi 2024
| Problema | pin | Operații I/O |
pin.in/pin.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 2 MB
|
| Id soluție | #62930469 | Utilizator | |
| Fișier | pin.cpp | Dimensiune | 906 B |
| Data încărcării | 06 Februarie 2026, 19:46 | Scor/rezultat | Eroare de compilare |
pin.cpp:8:12: error: 'char rand [20241]' redeclared as different kind of symbol char rand[L], pin[1001]; ^ In file included from /usr/include/c++/4.8/cstdlib:72:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:47, from pin.cpp:1: /usr/include/stdlib.h:374:12: error: previous declaration of 'int rand()' extern int rand (void) __THROW; ^ pin.cpp: In function 'int main()': pin.cpp:17:28: error: no matching function for call to 'std::basic_ifstream<char>::getline(int (&)()throw (), int)' fin.getline(rand, L); ^ pin.cpp:17:28: note: candidates are: In file included from /usr/include/c++/4.8/sstream:38:0, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from pin.cpp:1: /usr/include/c++/4.8/istream:618:5: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::getline(std::basic_istream<_CharT, _Traits>::char_type*, std::streamsize, std::basic_istream<_CharT, _Traits>::char_type) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::char_type = char; std::streamsize = int] basic_istream<char>:: ^ /usr/include/c++/4.8/istream:618:5: note: candidate expects 3 arguments, 2 provided /usr/include/c++/4.8/istream:427:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::getline(std::basic_istream<_CharT, _Traits>::char_type*, std::streamsize) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::char_type = char; std::streamsize = int] getline(char_type* __s, streamsize __n) ^ /usr/include/c++/4.8/istream:427:7: note: no known conversion for argument 1 from 'int()throw ()' to 'std::basic_istream<char>::char_type* {aka char*}' pin.cpp:21:21: warning: pointer to a function used in arithmetic [-Wpointer-arith] while(rand[i]!=0) ^ pin.cpp:23:22: warning: pointer to a function used in arithmetic [-Wpointer-arith] if(rand[i]!=' ') ^ pin.cpp:23:25: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if(rand[i]!=' ') ^ pin.cpp:26:25: warning: pointer to a function used in arithmetic [-Wpointer-arith] c=rand[i]-48; ^ pin.cpp:26:27: warning: pointer to a function used in arithmetic [-Wpointer-arith] c=rand[i]-48; ^ pin.cpp:26:26: error: invalid conversion from 'int (*)()throw ()' to 'int' [-fpermissive] c=rand[i]-48; ^ pin.cpp:35:17: error: 'lgpin' was not declared in this scope lgpin++; ^ pin.cpp:39:8: error: 'lgpin' was not declared in this scope if(lgpin==4) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema pin 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ă.