求调 样例过了 但全部Tle
查看原帖
求调 样例过了 但全部Tle
820210
AndyPomeloMarsGotoHE楼主2023/7/11 11:42

代码:

#include <iostream>
using namespace std;

const int MAXN = 110;

int T, N, M, R, S;

struct card{
    int f, p, t;
}A[MAXN], B[MAXN];

inline bool cmp(card a, card b){
    if (a.p != b.p) return a.p < b.p;
    else return a.f < b.f;
}

inline bool check(int idx){
    if (idx == 1){
        for (int i = 1; i <= N; ++i) if (!A[i].t) return 0;
        return 1;
    }
    else{
        for (int i = 1; i <= N; ++i) if (!B[i].t) return 0;
        return 1;
    }
}

inline void round(int K ,card last, int stat){
    int f = 0;
    if (K == 1){
        sort(A + 1, A + N + 1, cmp);
        for (int i = 1; i <= N; ++i){
            if (!A[i].t && ((A[i].f == last.f && A[i].p > last.p) || stat)){
                if (stat) last.f = A[i].f;
                last.p = A[i].p, A[i].t = 1, f = 1;
                break;
            }
        }
        if (f){
            if (check(K)){
                cout << "FS wins!" << endl;
                return;
            }
            else round(2, last, 1);
        }
        else round(2, last, 0);
    }
    else{
        sort(B + 1, B + N + 1, cmp);
        for (int i = 1; i <= N; ++i){
            if (!B[i].t && ((B[i].f == last.f && B[i].p > last.p) || stat)){
                if (stat) last.f = B[i].f;
                last.p = B[i].p, B[i].t = 1, f = 1;
                break;
            }
        }
        if (f){
            if (check(K)){
                cout << "FR wins!" << endl;
                return;
            }
            else round(1, last, 1);
        }
        else round(1, last, 0);
    }
}

int main(){
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cin >> T;
    while (T--){
        card info;
        cin >> N >> M >> R >> S;
        for (int i = 1; i <= N; ++i) cin >> A[i].f;
        for (int i = 1; i <= N; ++i) cin >> A[i].p;
        for (int i = 1; i <= N; ++i) cin >> B[i].f;
        for (int i = 1; i <= N; ++i) cin >> B[i].p;
        round(S, {0, 0, 0}, 1);
    }
    return 0;
}
2023/7/11 11:42
加载中...