DFS
  • 板块灌水区
  • 楼主封禁用户
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/11/28 16:43
  • 上次更新2023/11/28 19:46:07
查看原帖
DFS
929285
封禁用户楼主2023/11/28 16:43

求简写

#include<bits/stdc++.h>

using namespace std;

long long nums[1010],n,s,t; 
int ans=INT_MAX;

void dfs(int i,int c) 
{
    if(i==n) 
	{
        int sum=abs(c-s);
        ans=min(ans,sum);
        return;
    }
    dfs(i+1,c+nums[i]);
    dfs(i+1,c-nums[i]);
}

int main() 
{
	freopen("expr.in","r",stdin);
	freopen("expr.out","w",stdout);
	cin>>t;
	for(int k=1;k<=t;++k)
	{
		cin>>n>>s;
    	for(int i=0;i<n;++i)cin>>nums[i];
    	dfs(0,0);
    	cout<<ans<<"\n";
	}
	return 0;
}
dfs(i+1,c+nums[i]);
dfs(i+1,c-nums[i]);

!!!

2023/11/28 16:43
加载中...