74分调不出来了(dfs),求助
查看原帖
74分调不出来了(dfs),求助
542974
William_qwq楼主2021/11/28 09:55
#include<bits/stdc++.h> 
using namespace std;
int n,minn=1e9;
string s;
void dfs(string str,int sum,int step)
{
	int i;
	if(str=="")
	{
		if(sum==n)
		{
			minn=min(minn,step-1);
		}
		return;
	}
	if(sum>=minn) return;
	for(i=1;i<=str.size();i++)
	{
		int p;
		stringstream ss(str.substr(0,i));
        ss << str.substr(0,i);
        ss >> p;
        dfs(str.substr(i),sum+p,step+1);
	}
}
int main()
{
	cin>>s;
	cin>>n;
	dfs(s,0,0);
	if(minn!=1e9) cout<<minn;
	else cout<<-1;
	return 0;
}

2021/11/28 09:55
加载中...