Tuyến đường chẵn lẻ

Xem dưới dạng PDF

Gửi bài giải


Điểm: 10
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Bình được giao nhiệm vụ vận chuyển hàng hóa từ kho số \(1\) đến kho số \(N\) trong mạng lưới logistics gồm \(N\) kho hàng và \(M\) tuyến đường liên kết vô hướng giữa chúng.

Mỗi tuyến đường nối giữa hai kho hàng \(u\) và \(v\) có chi phí sử dụng phụ thuộc vào tính chẵn lẻ của hai kho đó:

  • Nếu tổng số hiệu hai kho hàng là chẵn (\((u + v)\) chia hết cho \(2\)), Bình đi qua tuyến đường này không tốn phí (chi phí bằng \(0\)).
  • Nếu tổng số hiệu hai kho hàng là lẻ (\((u + v)\) không chia hết cho \(2\)), Bình đi qua tuyến đường này tốn chi phí bằng \(1\).

Hãy giúp Bình tìm tổng chi phí tối thiểu để di chuyển từ kho \(1\) đến kho \(N\).

Định dạng đầu vào

  • Dòng đầu chứa hai số nguyên \(N\) và \(M\) (\(1 \le N \le 10^5\), \(0 \le M \le 2 \cdot 10^5\)).
  • \(M\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) (\(1 \le u, v \le N\)) mô tả tuyến đường vô hướng giữa kho \(u\) và kho \(v\).

Định dạng đầu ra

  • Một số nguyên duy nhất là chi phí tối thiểu. Nếu không thể đi tới, in ra \(-1\).

Ràng buộc

Subtask Tỉ lệ điểm Ràng buộc
1 40% \(N \le 1000\), \(M \le 2000\)
2 60% Không có ràng buộc gì thêm

Ví dụ

Input:

4 4
1 2
2 3
3 4
1 3

Output:

1

Nhận xét

Không có ý kiến tại thời điểm này.