dfs 求条
查看原帖
dfs 求条
1070915
CNMIOS楼主2024/5/25 14:14

非正解,只是想练练回溯,但是样例都没过

#include<iostream>
using namespace std;
int t,m,ans;
int a[105],b[105];
void dfs(int x,int y){
    if(y>m){
        return;
    }
    if(x-a[y]>=0){
        ans+=b[y];
        dfs(x-a[y],y+1);
        ans-=b[y];
    }
    dfs(x,y+1);
}
int main(){
    cin >> t >> m;
    for(int i=1;i<=m;i++){
        cin >> a[i] >> b[i];
    }
    dfs(t,1);
    cout << ans;
    return 0;
}
2024/5/25 14:14
加载中...