dfs()暴搜----CodeForce 1143B_暴搜


dfs()暴搜----CodeForce 1143B_#define_02


题意:

给一个数n( ​​1<=n<=2*10^9​​),从中去一个数,使其每一位相乘得到的集最大

题解:
该题用dfs暴搜即可
从两种方案中比较大小方案
第一种方案,求本身的值
第二张放案,减去位数*9
AC代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll dfs(ll n)
{
if (n == 0) return 1;
if (n < 10) return n;
return max(dfs(n / 10) * (n % 10), dfs(n / 10 - 1) * 9);
}

int main()
{
ll n;
cin>>n;
cout<<dfs(n)<<endl;

}