#3542
JocDeSah
RAU-Gigel se gândește la un joc cu piesele de șah. El desenează o tablă de șah sub forma unei matrici pătratice de latură N
și așează în fiecare dintre cele N x N
celule câte o piesă de șah. Se consideră că dispune de N X N
exemplare din fiecare piesă posibilă (regi, regine, ture, nebuni, cai, pioni), iar culoarea nu este relevantă. RAU-Gigel se întreabă care este numărul minim de căsuțe (celule) prin care trebuie să treacă un rege oarecare ca să ajungă la o regină oarecare. Regele se poate deplasa câte o celulă în patru direcții posibile: N, E, S, V.
Dar asta nu e tot. La începutul jocului, toți regii au 16
vieți. Atunci când RAU-Gigel mută un rege (oarecare) peste primul pion, acesta pierde o viață. Vestea bună este că, după aceea, regele respectiv poate lua oricâți pioni fără ca numărul său de vieți să fie afectat. Când ia un cal, regele pierde două vieți, dar după aceea poate lua, fără pierderi, oricâți cai. La fel se întâmplă și în cazul nebunilor, primul nebun îl costa patru vieți și, respectiv al turelor, care îl costă opt vieți.
RAU-Gigel dorește să afle ce rege să aleagă și pe ce traseu trebuie să meargă acesta către o regină oarecare, astfel încât la sfârșitul jocului să îi rămână cât mai multe vieți, iar traseul să fie cât mai scurt.
RAU-Coder 2020
Problema | JocDeSah | Operații I/O |
jocdesah.in /jocdesah.out
|
---|---|---|---|
Limita timp | 0.01 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #29288813 | Utilizator | |
Fișier | jocdesah.cpp | Dimensiune | 4.93 KB |
Data încărcării | 14 Aprilie 2021, 22:07 | Scor / rezultat | Eroare de compilare |
jocdesah.cpp: In function 'int main()': jocdesah.cpp:143:13: error: no match for 'operator>>' (operand types are 'InParser' and 'char*') cin >> (a[i] + 1); // asa se citesc matricile de caractere ^ jocdesah.cpp:143:13: note: candidates are: jocdesah.cpp:45:12: note: InParser& InParser::operator>>(int&) InParser& operator >> (int &n) { ^ jocdesah.cpp:45:12: note: no known conversion for argument 1 from 'char*' to 'int&' jocdesah.cpp:62:12: note: InParser& InParser::operator>>(long long int&) InParser& operator >> (long long &n) { ^ jocdesah.cpp:62:12: note: no known conversion for argument 1 from 'char*' to 'long long int&' 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/istream:38, from /usr/include/c++/4.8/fstream:38, from jocdesah.cpp:1: /usr/include/c++/4.8/bits/basic_string.tcc:996:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::basic_string<_CharT, _Traits, _Alloc>&) operator>>(basic_istream<_CharT, _Traits>& __in, ^ /usr/include/c++/4.8/bits/basic_string.tcc:996:5: note: template argument deduction/substitution failed: jocdesah.cpp:143:25: note: 'InParser' is not derived from 'std::basic_istream<_CharT, _Traits>' cin >> (a[i] + 1); // asa se citesc matricile de caractere ^ In file included from /usr/include/c++/4.8/istream:882:0, from /usr/include/c++/4.8/fstream:38, from jocdesah.cpp:1: /usr/include/c++/4.8/bits/istream.tcc:955:5: note: template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*) operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) ^ /usr/include/c++/4.8/bits/istream.tcc:955:5: note: template argument deduction/substitution failed: jocdesah.cpp:143:25: note: 'InParser' is not derived from 'std::basic_istream<_CharT, _Traits>' cin >> (a[i] + 1); // asa se citesc matricile de caractere ^ In file included from /usr/include/c++/4.8/istream:882:0, from /usr/include/c++/4.8/fstream:38, from jocdesah.cpp:1: /usr/include/c++/4.8/bits/istream.tcc:923:5: note: template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&) operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) ^ /usr/include/c++/4.8/bits/istream.tcc:923:5: note: template argument deduction/substitution failed: jocdesah.cpp:143:25: note: 'InParser' is not derived from 'std::basic_istream<_CharT, _Traits>' cin >> (a[i] + 1); // asa se citesc matricile de caractere ^ In file included from /usr/include/c++/4.8/fstream:38:0, from jocdesah.cpp:1: /usr/include/c++/4.8/istream:727:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&) operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c) ^ /usr/include/c++/4.8/istream:727:5: note: template argument deduction/substitution failed: jocdesah.cpp:143:25: note: 'InParser' is not derived from 'std::basic_istream<char, _Traits>' cin >> (a[i] + 1); // asa se citesc matricile de caractere ^ In file included from /usr/include/c++/4.8/fstream:38:0, from jocdesah.cpp:1: /usr/include/c++/4.8/istream:732:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&) operator>>(basic_istream<char, _Traits>& __in, signed char& __c) ^ /usr/include/c++/4.8/istream:732:5: note: template argument deduction/substitution failed: jocdesah.cpp:143:25: note: 'InParser' is not derived from 'std::basic_istream<char, _Traits>' cin >> (a[i] + 1); // asa se citesc matricile de caractere ^ In file included from /usr/include/c++/4.8/fstream:38:0, from jocdesah.cpp:1: /usr/include/c++/4.8/istream:774:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*) operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s) ^ /usr/include/c++/4.8/istream:774:5: note: template argument deduction/substitution failed: jocdesah.cpp:143:25: note: 'InParser' is not derived from 'std::basic_istream<char, _Traits>' cin >> (a[i] + 1); // asa se citesc matricile de caractere ^ In file included from /usr/include/c++/4.8/fstream:38:0, from jocdesah.cpp:1: /usr/include/c++/4.8/istream:779:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*) operator>>(basic_istream<char, _Traits>& __in, signed char* __s) ^ /usr/include/c++/4.8/istream:779:5: note: template argument deduction/substitution failed: jocdesah.cpp:143:25: note: 'InParser' is not derived from 'std::basic_istream<char, _Traits>' cin >> (a[i] + 1); // asa se citesc matricile de caractere ^ In file included from /usr/include/c++/4.8/fstream:38:0, from jocdesah.cpp:1: /usr/include/c++/4.8/istream:872:5: note: template<class _CharT, class _Traits, class _Tp> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&&, _Tp&) operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) ^ /usr/include/c++/4.8/istream:872:5: note: template argument deduction/substitution failed: jocdesah.cpp:143:25: note: 'InParser' is not derived from 'std::basic_istream<_CharT, _Traits>' cin >> (a[i] + 1); // asa se citesc matricile de caractere ^ jocdesah.cpp: In function 'int costul_jocului(char)': jocdesah.cpp:100:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ jocdesah.cpp: In member function 'char InParser::read_ch()': jocdesah.cpp:33:29: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result] fread(buff, 1, 4096, fin); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema JocDeSah 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ă.