题解:csp-j扑克牌 审核通过

lyh045 CSP-J2二等 2024-11-06 17:43:12 6

个人感觉这题太简单了!!

题目分析

首先,我们可用字符串数组储存所有牌。

让我们找最少还需要借多少张牌,那么就是将牌数去重后(将重复牌改为0)在查找有多少张牌并输出52-牌数即可

核心代码

int main() {
    int n, ans = 0;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];       //字符串数组
    }
    for (int i = 1; i <= n - 1; i++) {       //去重部分
        for (int j = i + 1; j <= n; j++) {
            if (a[i] == a[j])
                a[j] = "0";
        }
    }
    for (int i = 1; i <= n; i++) {
        if (a[i] != "0")
            ans++;                   //计算有多少张牌
    }
    cout << 52 - ans;
}


{{ vote && vote.total.up }}