Next
0 / 4
Module DS-14DSJAVA

Edge Relaxation Trace

DSJAVA β€’ Data Structures and Algorithms in Java

Browser-only practice

Problem Statement

Trace lab in Shortest Paths and Relaxation

Mission

Return min(current distance, source distance + edge weight).

Learning outcome: Trace a single relaxation decision

Correctness contract

Invariant: Each stored distance is a discovered path cost, and relaxation only improves it with a valid path.

Required technique: Compute the candidate source distance plus edge weight using long arithmetic and keep the smaller valid distance.

Complexity target: time O(1); space O(1).

Input and output

Input: The current source distance, edge weight, and current destination distance. Whitespace may be spaces or line breaks.

Output: Print the single exact numeric result with no label. Return it as a String; Main.java prints it without adding other text.

Assumptions:

  • Adding the source distance and edge weight fits in signed 64-bit storage.

Before you code

  1. Restate the input and output contract, then predict the visible example without running code.
  2. Implement the core state transition: Compute the candidate source distance plus edge weight using long arithmetic and keep the smaller valid distance.
  3. Trace the smallest boundary case, verify exact formatting, and justify the authored time and auxiliary-space bounds.

Implement Practice.solve(Scanner sc). Keep every provided filename and public class name unchanged.

Sample input

5 3 20

Sample output

8

Why the sample works: Visible walkthrough for the ordinary non-trivial path. The candidate path is sourceDistance + edgeWeight, and it replaces the current destination only when smaller. Input `5 3 20` therefore produces `8`.

Progressive hints

Try the trace and first milestone before opening a hint. Open them in order.

Open hint 1

Hint 1 β€” Contract: identify what each parsed variable represents and write the invariant beside the loop or recursive method.

Open hint 2

Hint 2 β€” Next step: Trace the smallest non-trivial input and write the structure state after the operation before coding the loop.

Open hint 3

Hint 3 β€” Verification: compare the structure state before and after one operation, then test the smallest valid input and a duplicate or unreachable case when allowed.

Constraints

Input contract: The current source distance, edge weight, and current destination distance.

  • Adding the source distance and edge weight fits in signed 64-bit storage.

Required technique: Compute the candidate source distance plus edge weight using long arithmetic and keep the smaller valid distance.

Output contract: Print the single exact numeric result with no label.

Use Java 8-compatible code only. Keep the public class names and Practice.solve(Scanner sc) signature from the starter files.

Input Format

The current source distance, edge weight, and current destination distance.

Output Format

Print the single exact numeric result with no label.

Sample Testcases

Submit runs every public testcase in this browser. Results and code never leave this device.

Sample #1
Public sample
5 3 20
8
Visible walkthrough for the ordinary non-trivial path. The candidate path is sourceDistance + edgeWeight, and it replaces the current destination only when smaller. Input `5 3 20` therefore produces `8`.

Web terminal

C, C++, Java, and Python run locally in a browser VM. No worker or visualizer is used.

Saved in this browser
Editor settings