#2 TLE 求调
  • 板块P1874 快速求和
  • 楼主HeW3
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/11/28 13:55
  • 上次更新2023/11/28 18:20:04
查看原帖
#2 TLE 求调
766729
HeW3楼主2023/11/28 13:55
#include<bits/stdc++.h>
using namespace std;
#define MAXN 50
long long sn,n,ans=0x3f3f3f3f;
char s[MAXN];
void dfs(long long pos,long long now,long long k){
	if(now>n)return;
	else for(int i=pos,sum=0;i<sn&&sum+now<=n;++i){
		sum=sum*10+s[i]-'0';
		if(now+sum==n&&i+1==sn)ans=min(k+1,ans);
		if(sum)
			dfs(i+1,now+sum,k+1);
	}
//	for(int i=0;i<k;++i)printf("  ");
//	printf("%lld\n",now);
}
int main(){
	scanf("%s",s);
	sn=strlen(s);
	scanf("%lld",&n);
	dfs(0,0,-1);
	printf("%lld",ans==0x3f3f3f3f?-1:ans);
}
2023/11/28 13:55
加载中...