Đổi tàu điện ngầm

Xem dưới dạng PDF

Gửi bài giải


Điểm: 30
Giới hạn thời gian: 1.5s
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 muốn di chuyển bằng hệ thống tàu điện ngầm từ ga xuất phát \(S\) đến ga đích \(E\) của thành phố.

Thành phố có \(N\) ga tàu (được đánh số từ \(1\) đến \(N\)) và \(K\) tuyến tàu điện ngầm chạy song song. Tuyến thứ \(i\) chạy qua một danh sách tuần tự gồm \(P_i\) ga tàu.

Quy tắc di chuyển và đổi tàu:

  • Đi tàu giữa hai ga liên tiếp trên cùng một tuyến tàu điện ngầm: Chi phí bằng \(0\).
  • Đổi từ tuyến tàu điện ngầm này sang tuyến tàu điện ngầm khác tại cùng một ga giao cắt: Chi phí bằng \(1\).
  • Khi xuất phát tại ga \(S\), Bình có thể bắt đầu lên bất kỳ tuyến tàu nào đi qua ga \(S\) mà không tốn phí đổi tàu ban đầu (chi phí đổi tàu bằng \(0\)).

Hãy giúp Bình tìm số lần đổi tàu tối thiểu để đi từ ga \(S\) đến ga \(E\).

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

  • Dòng đầu chứa bốn số nguyên \(N, K, S, E\) (\(1 \le N \le 10^5\), \(1 \le K \le 10^5\), \(1 \le S, E \le N\)).
  • \(K\) dòng tiếp theo, dòng thứ \(i\) mô tả tuyến tàu điện thứ \(i\): Bắt đầu bằng số nguyên \(P_i\) (\(P_i \ge 2\)) là số lượng ga của tuyến, theo sau là \(P_i\) số nguyên mô tả các ga tàu trên tuyến theo thứ tự di chuyển.
  • Tổng số ga trên tất cả các tuyến (\(P_1 + P_2 + \dots + P_K\)) không vượt quá \(2 \cdot 10^5\).

Định dạng đầu ra

  • Một số nguyên duy nhất là số lần đổi tàu 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, K \le 1000\), \(P_1 + \dots + P_K \le 2000\)
2 60% Không có ràng buộc gì thêm

Ví dụ

Input:

4 2 1 4
3 1 2 3
2 3 4

Output:

1

Nhận xét

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