Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Xác định người thắng trò chơi bài bằng C++

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