Giả sử chúng ta có hai số n và k. Amal và Bimal đang chơi một trò chơi. Quy tắc đơn giản. Amal vẽ n que theo hàng ngang. Sau đó các người chơi lần lượt gạch chéo chính xác k que từ trái hoặc phải trong mỗi lượt. Amal bắt đầu trò chơi. Nếu có ít hơn k que trên giấy trước một lượt nào đó, trò chơi kết thúc. Amal thắng nếu anh ta làm nhiều lượt hơn Bimal. Chúng ta phải tìm ai sẽ là người thắng.
Ví dụ, nếu đầu vào là n = 10; k = 4, thì đầu ra sẽ là Bimal. Vì Amal gạch 4 que, sau đó Bimal gạch 4 que, và sau đó chỉ còn 2 que. Amal không thể đi. Các người chơi làm số lượt bằng nhau, nên Amal không thắng.
Các bước
Để giải quyết bài toán này, chúng ta sẽ làm theo các bước sau:
if floor của (n / k) là chẵn, thì: return "Amal" return "Bimal"
Ví dụ
Xem triển khai sau để hiểu rõ hơn:
#include <bits/stdc++.h> using namespace std; string solve(int n, int k) { if ((n / k) % 2 != 0) { return "Amal"; } return "Bimal"; } int main() { int n = 10; int k = 4; cout << solve(n, k) << endl; }Đầu vào
10, 4
Đầu ra
Bimal