dfs只对了两个测试点
  • 板块学术版
  • 楼主cantback
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/4/5 21:51
  • 上次更新2023/10/28 04:29:25
查看原帖
dfs只对了两个测试点
265584
cantback楼主2022/4/5 21:51

p2036

#include<iostream>
#include<iomanip>
using namespace std;
int k[15];
int s[15];
int ans=1145141919;
int a;
void dfs(int i,int ss,int kk){
    if(i>a){
        if(ss==1&&kk==0){
            return;
        }
        else{
            if(abs(ss-kk)<ans){
                ans=abs(ss-kk);
            }
            return;
            
        }
    }
    dfs(i+1,ss*s[i],kk+k[i]);
    dfs(i+1,ss,kk);
    
}
int main(){
cin>>a;
for(int i=0;i<a;i++){
    cin>>k[i]>>s[i];
}
dfs(0,1,0);
cout<<ans;
return 0;
}

2022/4/5 21:51
加载中...