Undirected vertices 0..n-1; self-loops/parallel edges valid. Return distances in vertex order, source 0, unreachable nullopt. n<=0, invalid source, or invalid endpoint throws invalid_argument. Prototype enumerate simple paths; final adjacency-list BFS O(V+E). Preserve edges.
Public signatures:
Vec<Opt<Int>> prototype(const Int& n,const Vec<std::pair<Int,Int>>& edges,const Int& source);
Vec<Opt<Int>> solve(const Int& n,const Vec<std::pair<Int,Int>>& edges,const Int& source);Compile and run from this directory:
c++ -std=c++20 -O2 -Wall -Wextra -pedantic -pthread main.cpp -o practice
./practice --stage prototype
./practice --stage finalEdit exercise.hpp. Both stages start unfinished and must report failures until implemented. Keep main.cpp as the executable contract. The runner returns nonzero for a failed check, an unexpected exception, an invalid stage, or an empty suite. C++20 and only the standard library are required.
Drag or use the arrow keys to resize. Home collapses the question; End collapses the editor. Enter or double-click resets the split.
Loading editor…
Loading editor…
No results yet.
Complete the starter code, then run the checks.
Results and errors will appear here.
C++ runtime powered by Wasmer.