Implement Prototype(n int,edges [][3]int,source int) ([]*int,error) by simple-path exploration; Solve uses Dijkstra with a min-heap and stale-entry rejection. Directed edges are (from,to,weight). Return indexed minimum integer costs, nil for unreachable and pointer zero at source. Loops, parallel edges, zero weights are valid. Error for n<=0, invalid source/endpoints, or any negative edge, including unreachable edges. Preserve input; sums fit int.

Edit exercise.go; retain the public types and signatures. prototype and final are separate stages. The executable tests recover panics as failures, report named checks, and exit nonzero on any failure. A successful run must execute at least one check. Tests use logical time or explicit synchronization where relevant.

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…
No results yet.

Complete the starter code, then run the checks.
Results and errors will appear here.