无高精的《乘积最大》(P1018)输出0求助
  • 板块灌水区
  • 楼主SZnP
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/7/7 20:07
  • 上次更新2023/10/27 21:33:58
查看原帖
无高精的《乘积最大》(P1018)输出0求助
516867
SZnP楼主2022/7/7 20:07
#include <bits/stdc++.h> 
using namespace std;
int n,tmp,c,s[100],ret,dp[50][50],l;
char k;
int num(int v,int u)
{
	ret=0;
	for(int i=v;i<=u;i++)
	{ret+=s[i];ret*=10;}
	ret/=10;
	return ret;
}
int main()
{ 
	scanf("%d%d",&n,&l);
	l++;
	for(int i=1;i<=n;i++)
	{
		cin>>n;
		s[i]=n-'0';
	}
	for(int i=0;i<=n;i++)
		dp[i][1]=num(1,i);
	for(int i=1;i<=n;i++)
	for(int k=1;k<=l;k++)
	for(int j=0;j<=i;j++)
	dp[i][k]=max(dp[i][k],dp[j][k-1]*num(j+1,1));
	cout<<dp[n][l];
	return 0;
}

题目Link (将在另外一个OJ提交,测试数据不需要高精)

2022/7/7 20:07
加载中...