| 23425 | 2026-01-22 18:53:06 | PappMatyas | A lehető legkevesebb metróval utazás (40 pont) | cpp17 | Compilation error |
#include <iostream>
#include <vector>
using namespace std;
vector<int> sol;
vector<vector<int>> rows;
vector<vector<int>> p;
int n, m, s, e;
int INTMAX = 0x7FFFFFFF;
static vector<int> Finder(int index, vector<int>& come)
{
vector<int> lsol;
int lmin = INTMAX;
int ideal = -1;
vector<int> ccopy = come;
for (int rIndex : p[index])
{
auto it = find(come.begin(), come.end(), rIndex);
if (it != come.end()) continue;
int size = rows[rIndex].size();
for (int i = 0; i < size; i++)
{
int val = rows[rIndex][i];
if (val == e)
{
return vector<int> { rIndex + 1 };
}
}
vector<int> csol;
for (int i = 0; i < size; i++)
{
int val = rows[rIndex][i];
if (val == index) continue;
ccopy.push_back(rIndex);
csol = Finder(val, ccopy);
ccopy.pop_back();
int size = csol.size();
if (size < lmin)
{
ideal = rIndex;
lsol = csol;
}
}
}
lsol.insert(lsol.begin(), ideal + 1);
return lsol;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> m >> s >> e;
s--;
e--;
for (int i = 0; i < m; i++)
{
p.push_back(vector<int>{});
}
for (int i = 0; i < n; i++)
{
rows.push_back(vector<int>{});
int x;
cin >> x;
for (int j = 0; j < x; j++)
{
int y;
cin >> y;
y--;
rows[i].push_back(y);
p[y].push_back(i);
}
}
vector<int> a{};
sol = Finder(s, a);
if (sol.size() == 0)
{
cout << -1;
}
else
{
cout << sol.size() << endl;
for (int x : sol)
{
cout << x << " ";
}
}
}open /var/local/lib/isolate/406/box/a.out: no such file or directory
main.cpp: In function 'std::vector<int> Finder(int, std::vector<int>&)':
main.cpp:22:31: error: no matching function for call to 'find(std::vector<int>::iterator, std::vector<int>::iterator, int&)'
22 | auto it = find(come.begin(), come.end(), rIndex);
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/bits/locale_facets.h:48,
from /usr/include/c++/12/bits/basic_ios.h:37,
from /usr/include/c++/12/ios:44,
from /usr/include/c++/12/ostream:38,
from /usr/include/c++/12/iostream:39,
from main.cpp:1:
/usr/include/c++/12/bits/streambuf_iterator.h:434:5: note: candidate: 'template<class _CharT2> typename __gnu_cxx::__enable_if<std::__is_char<_CharT2>::__value, std::istreambuf_iterator<_CharT> >::__type std::find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>, const _CharT2&)'
434 | find(istreambuf_iterator<_CharT> __first,
| ^~~~
/usr/include/c++/12/bits/streambuf_iterator.h:434:5: note: template argument deduction/substitution failed:
main.cpp:22:31: note: '__gnu_cxx::__normal_iterator<int*, std::vector<int> >' is not derived from 'std::istreambuf_iterator<_CharT>'
22 | auto it = find(come.begin(), come.end(), rIndex);
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~