关于刚刚比赛的 F 题,求调
  • 板块学术版
  • 楼主fish_love_cat
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/5/12 21:04
  • 上次更新2023/10/23 15:59:36
查看原帖
关于刚刚比赛的 F 题,求调
754021
fish_love_cat楼主2023/5/12 21:04

RT

#include<bits/stdc++.h>
using namespace std;
struct pai{
    int f,p;
    bool zt=false;
}a[105],b[105];
int n,m,r,s;
bool cm(int s,int sp,int sf){
    if(s==1){
        bool c=false;
        for(int i=0;i<n;i++){
            if(!a[i].zt) c=true;
            if((!a[i].zt)&&((a[i].p>sp&&a[i].f==sf)||(sf==-1&&sp==-1))){
                a[i].zt=true;
                return cm(2,a[i].p,a[i].f);
            }
        }
        if(!c){
            cout<<"FS wins!\n";
            return;
        }
        return cm(2,-1,-1);
    }else{
        bool c=false;
        for(int i=0;i<n;i++){
            if(!b[i].zt) c=true;
            if((!b[i].zt)&&((b[i].p>sp&&b[i].f==sf)||(sf==-1&&sp==-1))){
                b[i].zt=true;
                return cm(1,b[i].p,b[i].f);
            }
        }
        if(!c){
            cout<<"FR wins!\n";
            return;
        }
        return cm(1,-1,-1);
    }
}
bool cmp(pai a,pai b){
    if(a.p==b.p) return a.f<b.f;
    return a.p<b.p;
}
int main(){
    int t;
    cin>>t;
    while(t--){
        cin>>n>>m>>r>>s;
        for(int i=0;i<n;i++){
            cin>>a[i].f;
        }
        for(int i=0;i<n;i++){
            cin>>a[i].p;
        }
        for(int i=0;i<n;i++){
            cin>>b[i].f;
        }
        for(int i=0;i<n;i++){
            cin>>b[i].p;
        }
        sort(a,a+n,cmp);
        sort(b,b+n,cmp);
        cm(s,-1,-1);
    }
    return 0;
}

不知道为什么爆 0 了……

2023/5/12 21:04
加载中...