Mô tả bài toán
Amal và Bimal chơi bài n lá (1..n). Mỗi lượt mỗi người chơi một lá, lá lớn hơn thắng lấy cả hai. Lá có thể chơi lại nhiều lần. Mảng A lá Amal chơi, B lá Bimal chơi. Ai hết bài thì thua. Tìm người thắng.
Ví dụ
n=5, A=[3,2], B=[5,1,4] → Bimal thắng (vì Bimal có lá 5 lớn nhất).
Thuật toán
Người có lá lớn nhất trong bộ bài của mình sẽ thắng (vì có thể chơi lá đó liên tục). So sánh max(A) và max(B).
Code C++
#include <bits/stdc++.h>
using namespace std;
string solve(int n, vector A, vector B) {
int maxA = *max_element(A.begin(), A.end());
int maxB = *max_element(B.begin(), B.end());
return (maxA > maxB) ? "Amal" : "Bimal";
}
int main() {
int n=5;
vector A={3,2}, B={5,1,4};
cout << solve(n,A,B) << endl;
return 0;
}
Đầu vào / Đầu ra
Input: 5, {3,2}, {5,1,4}
Output: Bimal