编译错误??

P1478 陶陶摘苹果(升级版)

乌丑 @ 2021-12-08 21:13:43

#include<bits/stdc++.h>
using namespace std;
int n,a,s,b,x[100],y[100],max=0;
void dfs(int rest,int  num,int sum){
    if(num==n-1){
        if(sum>max)max=sum;
        return;
    }
    else{
        if(x[i]>a+b)dfs(rest,num+1,sum);
        else if(y[i]>s)dfs(rest,num+1,sum);
        else{
            dfs(rest,num+1,sum);
            dfs(rest-b[i],num+1,)
        } 
    }
}
int main(){
    cin>>n>>s>>a>>b;
    for(int i=0;i<n;i++)
    cin>>x[i]>>y[i];
    int max;
    dfs(s,1,0);
    cout<<max;
    return 0;
} 

by Eason_AC @ 2021-12-08 21:15:05

@乌丑

  1. max 改成 mx
  2. dfs(rest-b[i],num+1,) 这里是什么鬼

by 昒昕 @ 2021-12-08 21:16:14

还有定义了两次 max,一次全局,一次在 main 里边


by Eason_AC @ 2021-12-08 21:16:39

另外

  1. int max; 之前已经定义过了,删掉这一行。
  2. mx 初始化需要赋值为一个很大的数,例如 0x3f3f3f3f

|