Trò chơi ăn kẹo

View as PDF

Submit solution

Points: 1.00
Time limit: 1.0s
Memory limit: 64M
Input: stdin
Output: stdout

Author:
Problem type

Luna vừa được thầy Tina dạy về bài toán trò chơi nên rất hào hứng, đặc biệt trong đó có bài toán ăn kẹo thú vị như sau: Có hai người ~A, B~ chơi trò chơi ăn kẹo, trên bàn có một đống ~n~ viên kẹo và ai ăn được cái kẹo cuối cùng thì chiến thắng. Mỗi lượt cho phép ăn ~1,2,...,k~ viên và ~A~ sẽ đi trước. Theo các lý thuyết trò chơi thì ta biết rằng:

  • Điều kiện để ~B~ thắng là ~n~ chia hết cho ~k+1.~

  • Điều kiện để ~A~ thắng là ~n~ không chia hết cho ~k+1.~

Luna đã rất thuộc bài. Tuy nhiên thầy Tina đổi luật lại như sau: vẫn ~n~ viên kẹo như trên nhưng ở lượt đầu tiên, ~A~ được quyền chọn một số nguyên dương ~k < n~ và ăn ~k~ viên kẹo (số ~k~ sẽ không thay đổi kể từ đó). Tiếp theo đến ~B~ ăn và cứ thế, mỗi lượt ăn một số kẹo từ ~1 \to k~ . Hỏi ~A~ nên chọn những số ~k~ nào để có chiến lược thắng trò chơi này? Trường hợp không có số nào thì in ra ~-1.~

Input: một dòng duy nhất gồm số nguyên dương ~n~ với ~2 \le n \le 10^9.~

Output: giá trị các số ~k~ thỏa mãn, theo thứ tự từ nhỏ đến lớn.

Sample input:

5

Sample output:

1 2

Giải thích:

Nếu lượt đầu ~A~ ăn ~1~ viên thì còn ~4~ viên. Tiếp theo, ~B,A~ sẽ thay viên nhau ăn mỗi lần ~1~ viên và ~A~ sẽ ăn được viên cuối nên thắng.

Nếu lượt đầu ~A~ ăn ~2~ viên thì còn ~3~ viên. Tiếp theo, ~B~ ăn ~1~ hoặc ~2~ viên thì ~A~ đều có thể ăn hết phần kẹo còn lại.

Nếu ~A~ chọn ~k=3,4~ thì dễ thấy sẽ thua trò chơi này.


Comments

Please read the guidelines before commenting.


There are no comments at the moment.