题目描述
blablabla
样例
blablabla
解题思路
由于n的范围只有1e9,就说明最多有9数字,我们用字符串存这个数,暴力枚举全排列,对于每个全排列判断是否%30 == 0即可。时间复杂度O(n!)
C++ 代码
#include <bits/stdc++.h>
using namespace std;
char str[15];
int getx() {
int res = 0;
for (int i = 1; str[i]; i ++) {
res *= 10;
res += str[i] ^ 48;
}
return res;
}
int main() {
scanf("%s", str + 1);
int len = strlen(str + 1);
int res = -1;
do {
int s = getx();//字符串转数字
if (s % 30 == 0) res = s;
} while (next_permutation(str + 1, str + 1 + len));//全排列函数
cout << res << endl;
return 0;
}