#3376
asciimat
Se dă un şir de caractere S
format din litere mari şi mici ale alfabetului englez, spaţii şi caracterul ⌂
ce are codul ASCII 127
. Fiecare caracter al lui S
se codifică printr-o succesiune de 1
şi 0
ce reprezintă codul ASCII al caracterului în baza 2
. Codul începe cu cifra 1
, astfel pentru caracterul A
codificarea este 1000001
. Un cuvânt poate fi format din litere şi caracterul ⌂
. Se consideră matricea M
formată din cuvintele șirului S
codificate şi memorate pe câte o linie în ordinea în care se găsesc acestea în propoziție. Scrieţi un program care, cunoscând S
şi K
, rezolvă următoarele două cerinţe:
1. determină L
, latura celui mai mare pătrat din matricea M
ce conține doar valori de 1
;
2. determină NR
, câte pătrate de latura K
cu toate elementele egale cu 1
există în matricea M
.
Olimpiada Municipala de Informatica, Iasi, 2020
Problema | asciimat | Operații I/O |
asciimat.in /asciimat.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
Id soluție | #31655456 | Utilizator | |
Fișier | asciimat.cpp | Dimensiune | 1.44 KB |
Data încărcării | 19 Octombrie 2021, 19:52 | Scor / rezultat | Eroare de compilare |
asciimat.cpp: In function 'int main()': asciimat.cpp:25:18: error: no matching function for call to 'getline(std::ifstream&, char [3002])' getline(fin,s); ^ asciimat.cpp:25:18: note: candidates are: In file included from /usr/include/stdio.h:934:0, from /usr/include/c++/4.8/cstdio:42, from /usr/include/c++/4.8/ext/string_conversions.h:43, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from asciimat.cpp:1: /usr/include/i386-linux-gnu/bits/stdio.h:115:1: note: __ssize_t getline(char**, size_t*, FILE*) getline (char **__lineptr, size_t *__n, FILE *__stream) ^ /usr/include/i386-linux-gnu/bits/stdio.h:115:1: note: candidate expects 3 arguments, 2 provided In file included from /usr/include/c++/4.8/string:52:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from asciimat.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2793:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::getline(std::basic_istream<_CharT, _Traits>&, std::basic_string<_CharT, _Traits, _Alloc>&) getline(basic_istream<_CharT, _Traits>& __is, ^ /usr/include/c++/4.8/bits/basic_string.h:2793:5: note: template argument deduction/substitution failed: asciimat.cpp:25:18: note: mismatched types 'std::basic_string<_CharT, _Traits, _Alloc>' and 'char [3002]' getline(fin,s); ^ In file included from /usr/include/c++/4.8/string:53:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from asciimat.cpp:1: /usr/include/c++/4.8/bits/basic_string.tcc:1068:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::getline(std::basic_istream<_CharT, _Traits>&, std::basic_string<_CharT, _Traits, _Alloc>&, _CharT) getline(basic_istream<_CharT, _Traits>& __in, ^ /usr/include/c++/4.8/bits/basic_string.tcc:1068:5: note: template argument deduction/substitution failed: asciimat.cpp:25:18: note: mismatched types 'std::basic_string<_CharT, _Traits, _Alloc>' and 'char [3002]' getline(fin,s); ^ asciimat.cpp:46:16: error: 'm' was not declared in this scope if(c > m) m = c; ^ asciimat.cpp:23:17: warning: unused variable 'poz' [-Wunused-variable] int index=0,poz=0; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema asciimat 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ă.