希望有大佬可以帮忙看看,指点一下我
查看原帖
希望有大佬可以帮忙看看,指点一下我
451538
三十坪楼主2021/4/12 23:29
#include<iostream>
#include<algorithm>
using namespace std;
int n, k, mul;
int maxx;
char p[41];
int ci(int n) {
	int sum = 1;
	for (int i = 0; i < n; i++) {
		sum *= 10;
	}
	return sum;
}
int fan(char* p1, int i, int j) {
	int sum = 0;
	if (i == j) {
		return (int)p1[i] - 48;
	}
	for (int k = 0; k <= j-i ; k++) {
		sum += ((int)p1[i+k] - 48) * ci(j -i- k );
	}
	return sum;
}
void dfs(int x, int ans, int last) {
	if (x == k) {
		maxx = max(maxx, ans * fan(p , last+1, n-1 ));
		return;
	}
	for (int i = last + 1; i <= n - k + x; i++)
	{
		mul = fan(p, last + 1, i);
		dfs(x + 1, ans * mul, i);
	}
}
int main() {
	cin >> n >> k;
	cin >> p;
	dfs(0, 1, -1);
	cout << maxx;
	return 0;
}
2021/4/12 23:29
加载中...