Nội dung Bài tập
- Mã:
- OLP16.Lan5.C
- Tên:
- Annabelle
- Dạng thi:
- oi
- Thang điểm:
- 10 điểm
- Giới hạn thời gian:
- 1 giây
- Giới hạn bộ nhớ:
- 64 MB
- Được tạo bởi:
- dthphuong
Annabelle là một con búp bê ma quái bị phù phép. Nó có một sức mạnh thật sự đáng sợ, khi nó vào một ngôi nhà nào đó thì có nghĩa ngôi nhà đó đã bị ám và từng thành viên trong gia đình sẽ gặp nguy hiểm, từng người, từng người một. . . . . Không một ai có thể dừng Annabelle lại được cả :( Bạn chỉ có thể dừng nó lại khi bạn biết được bí quyết phong ấn nó.
Quảng cáo
Cho đến một ngày, có một nhà Ngoại cảm chuyên có khả năng phong ấn những thứ ma quái đã xuất hiện. Tuy nhiên, Anna là ngoại lệ, dù đã dùng nhiều cách khác nhau nhưng bà vẫn không tài nào phong ấn nó được. Cho đến 1 ngày, bà nhận ra rằng thứ tự những người bị nó hãm hại tuân theo 1 quy luật:
Mỗi lần chuẩn bị "hành động", Anna khắc vào tấm gỗ của nó một con số, đây là con số mà nạn nhân của nó yêu thích và những con số này cứ tăng dần (bắt đầu là 1). Khi 2 số a, b nó khắc vào tấm gỗ thỏa:
- b + a · a ≡ 0 (mod k)
- a + b · b ≡ 0 (mod k) (với k là một số cho trước)
thì nó sẽ nối chúng lại với nhau. Anna chỉ dừng lại khi các số nó viết được nối với nhau thành 1 chu trình.
Nhiệm vụ của bạn là giúp nhà Ngoại cảm, bạn hãy viết một chương trình để tìm xem người tạo thành chu trình yêu thích số mấy nhé ! Nhanh lên nào, không còn thời gian đâu.
Input
Số nguyên k (1 <= k <= 100000).
Output
Số yêu thích của người sẽ tạo thành chu trình đầu tiên xuất hiện. Nếu không tồn tại thì xuất -1.
Ví dụ
input | output |
---|---|
2 | 5 |
Giải thích
Trong ví dụ trên, sau khi những người có số yêu thích từ 1 đến 4 bị hãm hại thì đồ thị của chúng ta sẽ có các cạnh (1, 3) và (2, 4). Sau đó, Anna sẽ tìm đến người yêu thích số 5 và sau khi hãm hại người này xong, nó sẽ dừng lại. Vì đã tạo thành chu trình ( 1 - 5 - 3 - 1)
Theme :
Mời bạn soạn code
Ai có thể xem bài này :
Thông tin
Phần thảo luận