80pts 玄关求调QWQ (求调试数据)
查看原帖
80pts 玄关求调QWQ (求调试数据)
561535
bailin_Wzy楼主2024/8/28 21:45

题目

测试点

代码:

#include <bits/stdc++.h>
using namespace std;
const int N=1e6+5,inf=INT_MAX;
string s;
int n,m;
int a[45];
int dp[N][45];
int main(){
	cin>>s>>m;
	for(int i=0;i<s.size();i++){
		a[i+1]=s[i]-'0';
	}
	n=s.size();
	for(int i=0;i<N;i++){
		for(int j=0;j<45;j++){
			dp[i][j]=inf;
		}
	}
	dp[0][0]=0;
	for(int i=0;i<=m;i++){
		for(int j=0;j<=n-1;j++){
			if(dp[i][j]!=inf){
				int num=0,p=j+1;
				while(p<=n && i+num<m){
					num=num*10+a[p];
					dp[i+num][p]=min(dp[i+num][p],dp[i][j]+1);
					p++; 
				}
			}
		}
	}
	if(dp[m][n]==inf)cout<<-1;
	else cout<<dp[m][n]-1;
	return 0;
} 
2024/8/28 21:45
加载中...