50分求解
查看原帖
50分求解
1013950
__youzimo2014__楼主2024/1/15 19:47

#3~7WA了

#include <iostream>
using namespace std;
int f1[105], p1[105], f2[105], p2[105], a[105];
bool isOut[105];
int main(int argc, const char * argv[]) {
    // insert code here...
    int n, m, r;
    cin >> n >> m >> r;
    for (int i = 1; i <= n; i++) {
        cin >> f1[i];
    }
    for (int i = 1; i <= n; i++) {
        cin >> p1[i];
    }
    for (int i = 1; i <= n; i++) {
        cin >> f2[i];
    }
    for (int i = 1; i <= n; i++) {
        cin >> p2[i];
    }
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
    }
    int cnt = n;
    for (int i = 1; i <= n; i++) {
        int ans = 0; // 点数最小的那张牌
        for (int j = 1; j <= n; j++) { // 遍历所有牌
            if (f2[j] == f1[a[i]] && p2[j] > p1[a[i]] && (!isOut[j])) { // 如果符合要求
                ans = max(ans, j);
            }
        }
        if (ans != 0) {
            isOut[ans] = true; // 出牌
            cnt--; // 小F的牌-1
        }
    }
    cout << cnt;
    return 0;
}
2024/1/15 19:47
加载中...