求助万能的谷民
  • 板块灌水区
  • 楼主dulinfan2023
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/6/12 21:14
  • 上次更新2024/6/13 13:13:16
查看原帖
求助万能的谷民
935574
dulinfan2023楼主2024/6/12 21:14

哪里 CE 了?

#include<bits/stdc++.h>
using namespace std;
char ss[2005];
int T,n,f[2005][2005];
int solve(int l,int r){
    if(l>r)return 1;
    if(f[l][r]==-1)return f[l][r];
    int &t=f[l][r];
    if(ss[l]>ss[l+1]||ss[l]>ss[r])t=max(0,t);
    else{
        if(ss[l]<ss[l+1]&&ss[l]<ss[r])t=2;
        if(ss[l]==ss[l+1]&&ss[l]==ss[r]){
            t=max(t,min(solve(l+2,r),solve(l+1,r-1)));
        }
        else{
            if(ss[l]==ss[l+1])t=max(t,solve(l+2,r));
            if(ss[l]==ss[r])t=max(t,solve(l+1,r-1));
        }
    }
    if(ss[r]>ss[l]||ss[r]>ss[r-1])t=max(0,t);
    else{
        if(ss[r]>ss[l]&&ss[r]>ss[r-1])t=2;
        if(ss[r]==ss[l]&&ss[r]==ss[r-1]){
            t=max(t,solve(l,r-2),solve(l+1,r-1));
        }
        else{
            if(ss[r]==ss[r-1])t=max(t,solve(l,r-2));
            if(ss[r]==ss[l])t=max(t,solve(l+1,r-1));
        }
    }
    return t;
}
signed main(){
    int T;
    cin>>T;
    while(T--){
        scanf("%s",ss+1);
        n=strlen(ss+1);
        for(int u=1;u<=n;u++){
            for(int i=1;i<=n;i++){
                f[u][i]=-1;
                int t=solve(1,n);
                if(t==2)cout<<"Alice"<<'\n';
                if(t==1)cout<<"Draw"<<'\n';
                if(t==0)cout<<"Bob"<<'\n';
            }
        }
    }
    return 0;
}

编译提示:error: '__comp' cannot be used as a function

2024/6/12 21:14
加载中...