BỔ SUNG MÁY

Cho \(m\) máy biến đổi số được đánh số từ 1 tới \(m\) và một số nguyên dương \(n\). Hoạt động của máy i được xác định bởi cặp số nguyên dương \((a_{i}\ ;b_{i})\) \((1 \leq a_{i},\ b_{i} \leq n)\), máy nhận đầu vào là số nguyên dương \(a_{i}\) và cho đầu ra là số nguyên dương \(b_{i}\).

Ta nói số nguyên dương \(x\) có thể biến đổi thành số nguyên dương \(y\) nếu \(x\ = \ y\) hoặc tồn tại một dãy hữu hạn các số nguyên dương \(x = p_{1},\ p_{2},\ \ldots\ ,p_{k}\ = y\) sao cho đối với hai phần tử liên tiếp \(p_{i},\ p_{i + 1}\) bất kỳ trong dãy, luôn tìm được một trong số các máy đã cho có đầu vào là \(p_{i}\) và đầu ra là \(p_{i + 1}\).

Yêu cầu: Cho trước số nguyên dương \(t\ (t\ \leq n)\), hãy bổ sung thêm một số ít nhất máy biến đổi số để bất kỳ số nguyên dương nào từ 1 tới \(n\) đều có thể biến đổi thành \(t\).

Dữ liệu vào:

+ Dòng đầu ghi \(n,\ m,\ t\ (1 \leq n,m,t \leq 10000)\ \);

+ \(m\) dòng tiếp theo, mỗi dòng chứa một cặp số tương ứng với một máy biến đổi số.

Kết quả:

+ Ghi một số duy nhất là số lượng máy cần bổ sung, nếu không cần bổ sung thêm máy nào thì ghi số 0

Ví dụ:

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

Ràng buộc:

  • 50% số test có \(1 \leq n,m,t \leq 100\)

  • 50% số test không có ràng buộc thêm

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. qtaydzs1tg (17/23)
  2. ducanhbc (16/23)
  3. duythai (12/17)
Trong 7 ngày
  1. haiyen2011 (69/149)
  2. khanhchi_29 (66/80)
  3. qtaydzs1tg (57/90)
Trong 30 ngày
  1. nongvantien11 (115/189)
  2. trungo0 (112/199)
  3. ngocbichh (110/267)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 41021

Lưu Hải Phong - 2020
[email protected]