USACO 2016 - Closing the Farm

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Farmer John và đàn bò dự định rời thị trấn để đi nghỉ dài ngày, vì vậy FJ muốn tạm thời đóng cửa trang trại nhằm tiết kiệm tiền trong thời gian đó.

Trang trại gồm \(N\) chuồng được nối với nhau bởi \(M\) đường đi hai chiều giữa một số cặp chuồng (\(1 \leq N, M \leq 3000\)). Để đóng cửa trang trại, FJ dự định mỗi lần đóng một chuồng. Khi một chuồng đóng cửa, tất cả các đường đi kề với chuồng đó cũng đóng và không thể được sử dụng nữa.

FJ muốn biết tại mỗi thời điểm (ban đầu và sau mỗi lần đóng cửa) liệu trang trại có "liên thông hoàn toàn" hay không — nghĩa là có thể đi từ bất kỳ chuồng đang mở nào đến bất kỳ chuồng đang mở nào khác theo một dãy đường đi thích hợp. Vì trang trại của FJ ban đầu đang trong tình trạng phần nào xuống cấp, nó thậm chí có thể không liên thông hoàn toàn ngay từ đầu.

Dữ liệu vào

Dòng đầu tiên chứa \(N\)\(M\). Mỗi dòng trong \(M\) dòng tiếp theo mô tả một đường đi bằng cặp chuồng mà nó nối (các chuồng được đánh số thuận tiện từ \(1 \ldots N\)). \(N\) dòng cuối cùng cho một hoán vị của \(1 \ldots N\), mô tả thứ tự các chuồng sẽ bị đóng cửa.

Dữ liệu ra

Kết quả gồm \(N\) dòng, mỗi dòng chứa YES hoặc NO. Dòng đầu tiên cho biết trang trại ban đầu có liên thông hoàn toàn hay không, và dòng \(i+1\) cho biết trang trại có liên thông hoàn toàn hay không sau lần đóng cửa thứ \(i\).

Ví dụ

Ví dụ 1

Input
4 3
1 2
2 3
3 4
3
4
1
2
Output
YES
NO
YES
YES

Nguồn

USACO 2016 US Open Contest, Silver - Closing the Farm: https://usaco.org/index.php?page=viewproblem2&cpid=644

Tác giả: Yang Liu.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: