Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
tomjerry.inp
Output:
tomjerry.out
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, JavaScript, Kotlin, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Bình luận
Nếu ~N~ là chẵn thì ~Tom~ sẽ luôn thắng,ngược lại thì ~Jerry~ luôn thắng,ta có thể biện luận quá trình chơi như sau:
Nếu ~N~ là số chẵn, ~Tom~ (người chơi đầu tiên) sẽ luôn thắng, ~Tom~ có thể bắt đầu bằng cách lấy ~1~ (là ước số của mọi số) làm giá trị của ~a~, khiến ~N~ trở thành số lẻ cho ~Jerry~. Khi ~N~ là số lẻ, mọi ước số của ~N~ cũng sẽ là số lẻ (vì số lẻ không thể có ước số chẵn). Do đó, ~Jerry~ sẽ phải chọn một số lẻ để trừ đi từ ~N~, khiến ~N~ trở thành số chẵn cho ~Tom~
Quá trình này tiếp tục cho đến khi không còn nước đi hợp lệ nào cho ~Jerry~ (khi ~N = 1~), và Tom sẽ là người chiến thắng
Đối với ~N~ lẻ thì ngược lại.....
Nếu N là số chẵn thì Tom thắng, ngược lại thì Jerry thắng