菜鸟求助T T
查看原帖
菜鸟求助T T
1126387
Slim__Shady楼主2024/1/6 11:14
#define _CRT_SECURE_NO_DEPRECATE
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <queue>
#include <cmath>
#include <string.h>
#define N 100005
#define INF 0x3f3f3f3f
#define ll long long

using namespace std;

int f[50][50][10];
char s[50];

void trans(int i, int j) {
    int res = 0;
    for (int x = i; x <= j; x++) {
        res = res * 10 + s[x] - '0';
    }
    f[i][j][0] = res;
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n, k;
    cin >> n >> k;
    scanf("%s", s + 1);
    for (int i = 1; i <= n; i++) {
        for (int j = i; j <= n; j++) {
            trans(i, j);
        }
    }
    for (int l = 1; l <= k; l++) {
        for (int len = 2; len <= n; len++) {
            for (int i = 1; i <= n - len + 1; i++) {
                int j = i + len - 1;
                for (int lft = 0; lft < l; lft++) {
                    for (int x = i; x < j; x++) {
                        f[i][j][l] = max(f[i][j][l], f[i][x][lft] * f[x + 1][j][l - lft - 1]);
                    }
                }
            }
        }
    }
    cout << f[1][n][k] << endl;
    
    return 0;
}
2024/1/6 11:14
加载中...