#864
Roboti
Se dă o matrice cu n
linii și m
coloane și elemente 0
sau 1
, reprezentând planul unui teren în care 0
reprezintă o zonă accesibilă, iar 1
reprezintă o zonă inaccesibilă. O zonă a terenului are ca și coordonate linia și coloana corespunzătoare din matrice. Într-o zonă cunoscută a matricei se află un robot, iar în altă zonă, e asemenea cunoscută, se află o roboțică. Determinați numărul minim de pași prin care robotul va ajunge la roboțică. Dacă nu este posibil ca robotul să ajungă la roboțică, rezultatul va fi -1
.
Problema | Roboti | Operații I/O |
![]() roboti.in /roboti.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
Id soluție | #57026052 | Utilizator | |
Fișier | roboti.cpp | Dimensiune | 1.46 KB |
Data încărcării | 13 Martie 2025, 12:27 | Scor / rezultat | Eroare de compilare |
roboti.cpp: In function 'int Lee(std::pair<int, int>, std::pair<int, int>)': roboti.cpp:22:14: error: expected unqualified-id before '[' token auto [x,y] = Q.front(); ^ roboti.cpp:23:11: error: 'x' was not declared in this scope v[x][y]=true; ^ roboti.cpp:23:14: error: 'y' was not declared in this scope v[x][y]=true; ^ roboti.cpp:31:24: error: invalid types 'int [1005][double(int, double)throw ()]' for array subscript if(M[xn][yn]!=-1 && v[xn][yn]==false && inbounds(xn,yn)){ ^ roboti.cpp:31:41: error: invalid types 'bool [1005][double(int, double)throw ()]' for array subscript if(M[xn][yn]!=-1 && v[xn][yn]==false && inbounds(xn,yn)){ ^ roboti.cpp:31:67: error: invalid conversion from 'double (*)(int, double)throw ()' to 'int' [-fpermissive] if(M[xn][yn]!=-1 && v[xn][yn]==false && inbounds(xn,yn)){ ^ roboti.cpp:11:6: error: initializing argument 2 of 'bool inbounds(int, int)' [-fpermissive] bool inbounds(int x, int y){ ^ roboti.cpp:32:25: error: invalid types 'bool [1005][double(int, double)throw ()]' for array subscript v[xn][yn]=true; ^ roboti.cpp:33:32: error: invalid user-defined conversion from '<brace-enclosed initializer list>' to 'std::queue<std::pair<int, int> >::value_type&& {aka std::pair<int, int>&&}' [-fpermissive] Q.push({xn, yn}); ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/sstream:38, 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 roboti.cpp:1: /usr/include/c++/4.8/bits/stl_pair.h:112:26: note: candidate is: constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _T1 = int; _T2 = int] <near match> _GLIBCXX_CONSTEXPR pair(const _T1& __a, const _T2& __b) ^ /usr/include/c++/4.8/bits/stl_pair.h:112:26: note: no known conversion for argument 2 from 'double(int, double)throw ()' to 'const int&' roboti.cpp:33:32: error: invalid conversion from 'double (*)(int, double)throw ()' to 'const int&' [-fpermissive] Q.push({xn, yn}); ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/sstream:38, 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 roboti.cpp:1: /usr/include/c++/4.8/bits/stl_pair.h:112:26: error: initializing argument 2 of 'constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _T1 = int; _T2 = int]' [-fpermissive] _GLIBCXX_CONSTEXPR pair(const _T1& __a, const _T2& __b) ^ roboti.cpp:33:32: error: conversion to non-const reference type 'std::queue<std::pair<int, int> >::value_type&& {aka struct std::pair<int, int>&&}' from rvalue of type 'std::pair<int, int>' [-fpermissive] Q.push({xn, yn}); ^ roboti.cpp:34:28: error: invalid types 'int [1005][double(int, double)throw ()]' for array subscript dist[xn][yn]=dist[x][y]+1; ^ roboti.cpp:36:43: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if(xn==fnsh.first && yn==fnsh.second){ ^ roboti.cpp:37:35: error: invalid types 'int [1005][double(int, double)throw ()]' for array subscript return dist[xn][yn]; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Roboti 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ă.