N - Select Mul
思路:当成字符串输入,先用C++的next_permutation函数找出这个它的全排列,对于每个全排列用暴力分成两段求积(用stoi函数把字符串转成10进制),找出最大的即可
代码:
//https://vjudge.net/contest/485999#problem/N //C++全排列函数 next_permutation //枚举n位数的全排列 //对每个全排列暴力分成两端求乘积,找出最大值即可 //stoi函数将字符串转成整数输出 #includeusing namespace std; int ans; string N; int main() { cin >> N; sort(N.begin(), N.end()); do { for (int i = 1; i < N.size(); i++) { string l = "", r = ""; for (int j = 0; j < i; j++) l += N[j]; for (int j = i; j < N.size(); j++) r += N[j]; if (l[0] == '0' || r[0] == '0') continue; ans = max(ans, stoi(l) * stoi(r)); } } while (next_permutation(N.begin(), N.end())); cout<



