Trao thưởng
Đề bài
Mô tả
Công ty có nhân viên, được đánh số từ đến . Giữa các nhân viên có quan hệ vay nợ: mỗi quan hệ được mô tả bởi một cặp với ý nghĩa nhân viên đang nợ tiền nhân viên . Mỗi cặp nhân viên không có thứ tự xuất hiện trong dữ liệu vào nhiều nhất một lần (do đó nếu có mặt thì chắc chắn không xuất hiện).
Giám đốc muốn lần lượt mời từng nhân viên vào phòng nhận thưởng. Nếu nhân viên vừa nhận thưởng xong và ngay sau đó nhân viên — người mà đang nợ — bước vào, thì hai người sẽ chạm mặt nhau ở cửa và niềm vui của sẽ giảm đi rất nhiều.
Bạn hãy giúp giám đốc tìm một thứ tự mời nhân viên sao cho với mọi cặp hai người được mời liền kề nhau trong thứ tự đó, người được mời trước không nợ tiền người được mời ngay sau. Nếu có nhiều thứ tự thoả mãn, in ra một thứ tự bất kỳ.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên , (; ) cho biết nhân viên đang nợ tiền nhân viên .
Dữ liệu đảm bảo mỗi cặp nhân viên không có thứ tự được nhắc đến nhiều nhất một lần.
Dữ liệu ra
In ra nếu không tồn tại thứ tự thoả mãn. Ngược lại, in ra một hoán vị của số nguyên phân biệt từ đến — thứ tự mời các nhân viên vào phòng giám đốc, từ người đầu tiên đến người cuối cùng. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 1 1 2 |
2 1 | Nhân viên nợ nhân viên . Nếu mời theo thứ tự thì vừa ra khỏi phòng đã gặp — không hợp lệ. Mời theo thứ tự : không nợ , hợp lệ. |
| 3 3 1 2 2 3 3 1 |
3 2 1 | Các quan hệ: nợ , nợ , nợ . Thứ tự : không nợ , không nợ , hợp lệ. |
Bình luận