Đếm Bạn Bè
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Có người trong một mạng xã hội. Mỗi người có một số bạn bè nhất định (quan hệ bạn bè là hai chiều). Ai đó đã liệt kê số bạn bè của mỗi người, nhưng lại ghi nhầm thành số thay vì số — tức có đúng một số thừa trong danh sách.
Hãy xác định những vị trí nào trong danh sách có thể là số thừa. Cụ thể, nếu bỏ số ở vị trí , số còn lại phải tạo thành một dãy bậc hợp lệ (tức tồn tại một đồ thị đơn đỉnh có dãy bậc đó).
Dữ liệu vào
- Dòng đầu tiên: số nguyên ().
- dòng tiếp theo: mỗi dòng chứa một số nguyên không âm, là số bạn bè (hoặc số thừa).
Dữ liệu ra
- Dòng đầu tiên: số nguyên — số vị trí có thể là số thừa.
- dòng tiếp theo: các vị trí đó (đánh số từ 1), theo thứ tự tăng dần.
Ràng buộc
- Mỗi số trong danh sách có giá trị từ đến .
- Đảm bảo tồn tại ít nhất một vị trí hợp lệ.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 2 2 1 3 |
3 1 4 5 |
Bỏ số ở vị trí 1 (giá trị 1): còn — hợp lệ (đồ thị 4 đỉnh). Bỏ vị trí 4 (giá trị 1): còn — hợp lệ. Bỏ vị trí 5 (giá trị 3): còn — hợp lệ. Bỏ vị trí 2 hoặc 3 (giá trị 2): tổng lẻ → không hợp lệ. |
Bình luận