long double 60分
查看原帖
long double 60分
431095
Druid楼主2024/8/24 21:17
#include<bits/stdc++.h>
using namespace std;
long double n,k,a[30],max1=0;
void dfs(int n1,long double ans,int k1)
{
	long double a1=0;
	n1=n1+1;
	if(k1==k)
	{
		for(;n1<=n;n1++)
		{
			a1=a1*10+a[n1];
		}
		max1=max(ans*a1,max1);
		return;
	}
	long double max1=0;
	for(;n1<=n-k+k1;n1++)
	{
		a1=a1*10+a[n1];
		dfs(n1,ans*a1,k1+1);
	}
	return;
}
int main()
{
	cin>>n>>k;
	string s;
	cin>>s;
	for(int i=1;i<=n;i++)
	{
		a[i]=s[i-1]-'0';
	}
	dfs(0,1,0);
	cout.setf(ios::fixed,ios::floatfield);
	cout.precision(0);
	cout<<max1;
    return 0;
}

炸了 7,8,9,10没过

2024/8/24 21:17
加载中...