Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Trọng số đường đi

Dễ Đường đi ngắn nhất Dijkstra

  • 100 Điểm
  • 75% Tỉ lệ AC
  • 3 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.5s Giới hạn thời gian

Bạn được cung cấp một đồ thị vô hướng, có trọng số và liên thông, bao gồm \(n\) đỉnh và \(m\) cạnh. Đảm bảo rằng đồ thị không có khuyên (self-loops) và các cạnh lặp.

Định nghĩa trọng số của một đường đi:

Giả sử đường đi có \(k\) cạnh với các chỉ số \(e_1, e_2, \ldots, e_k\). Trọng số của đường đi được xác định bởi công thức:

\(\text{weight of path} = \sum_{i=1}^k w_{e_i} - \max_{i=1}^k w_{e_i} + \min_{i=1}^k w_{e_i}\)

Nhiệm vụ:

Với mỗi đỉnh \(i\) (\(2 \le i \le n\)), hãy tìm trọng số nhỏ nhất của đường đi từ đỉnh \(1\) đến đỉnh \(i\).

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(m\) \((2 \leq n \leq 2 \cdot 10^5; 1 \leq m \leq 2 \cdot 10^5)\) --- số đỉnh và số cạnh của đồ thị.
  • \(m\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(v_i, u_i, w_i\) \((1 \leq v_i, u_i \leq n; 1 \leq w_i \leq 10^9; v_i \neq u_i)\) --- các đỉnh của cạnh thứ \(i\) và trọng số tương ứng.

Output

  • In \(n-1\) số nguyên trên một dòng, mỗi số tương ứng với trọng số nhỏ nhất của đường đi từ đỉnh \(1\) đến đỉnh \(i\) \((2 \leq i \leq n)\).

Example

Test 1

Input
5 4
5 3 4
2 1 1
3 2 2
2 4 2
Output
1 2 2 4 

Test 2

Input
6 8
3 1 1
3 6 2
5 4 2
4 2 2
6 1 1
5 2 1
3 2 3
1 5 4
Output
2 1 4 3 1 

Test 3

Input
7 10
7 5 5
2 3 3
4 7 1
5 3 6
2 7 6
6 2 6
3 7 6
4 2 1
3 1 4
1 7 4
Output
3 4 2 7 7 3 

Scoring

  • \(25\%\) số test tương ứng với \(25\%\) số điểm có \(n, m \leq 10\).

  • \(25\%\) số test tương ứng với \(25\%\) số điểm có \(n, m \leq 100\).

  • \(25\%\) số test tương ứng với \(25\%\) số điểm có \(n, m \leq 500\), \(w_{i}= a\) hoặc \(w_{i} = b\) với \(a\), \(b\) là hằng số.

  • \(25\%\) số test tương ứng với \(25\%\) số điểm còn lại không có ràng buộc gì thêm.

Bình luận

Chưa có bình luận nào.