文章
246
粉丝
0
获赞
1171
访问
55.7k
直接爆搜
#include<iostream>
using namespace std;
const int N=1e5+10;
int res=-1;
int num[N];
bool path[N];
string str;
int get_num()
{
int sum=0;
for(int i=0;i<str.size();i++)
sum=sum*10+num[i];
return sum;
}
void dfs(int u)
{
if(u==str.size())
{
int x=get_num();
if(x%30==0)
res=max(res,x);
return;
}
for(int i=0;i<str.size();i++)
{
if(!path[i])
{
path[i]=true;
num[u]=str[i]-'0';
dfs(u+1);
path[i]=false;
}
}
}
int main()
{
cin>>str;
dfs(0);
cout<<res;
return 0;
}
登录后发布评论
暂无评论,来抢沙发