#41646: C++解法


a0976828118@gmail.com (Ryan shiun)

學校 : 不指定學校
編號 : 276025
來源 : [118.160.69.87]
最後登入時間 :
2024-08-21 21:39:26
m880. 撲克牌-抽鬼牌 -- 小億教學題 | From: [114.44.55.117] | 發表日期 : 2024-08-14 13:03

#include <bits/stdc++.h>
using namespace std;

int main() {
    vector <string> card(14);
   
    // 輸入牌面順序
    for (int i = 0; i < 14; i++) {
        cin >> card[i];
    }
    int n;
    cin >> n;

    // 洗牌
    for (int i = 0; i < n; i++) {
        int a, b;
        cin >> a >> b;
        swap(card[a], card[b]);
    }

    // 紀錄每位學生拿到哪張編號的牌
    vector <int> classmates(14);

    for (int i = 0; i < 14; i++) {
        cin >> classmates[i];
    }

    // 輸出最後洗牌順序
    for (const string& str : card) {
        cout << str << " ";
    }
    cout << endl;

    // 從洗完牌的順序中,找 Joker 是哪一張牌
    int JokerNum;
    for (int i = 0; i < 14; i++) {
        if (card[i] == "Joker") {  // 0號牌
            JokerNum = i;
            break;
        }
    }
    // 從每位學生拿到的牌中,比對誰拿到 Joker
    for (int i = 0; i < 14; i++) {
        if (classmates[i] == JokerNum) {
            cout << i+1 << endl;
        }
    }
    return 0;
}
 
ZeroJudge Forum