这个题当时考试的时候有点蒙了,一时间没想到最优解,出去吃饭的时候竟然突然想起来了,,,,
就是看有没有0,没零输出-1,有零的话判断sum(所有数字总和)是否能够整除三,可以的话就按照从大到小输出,没有就输出-1
#include <bits/stdc++.h>
#define LL long long
using namespace std;
const int maxn = 10;
int arr[maxn]={0};
int main() {
string s;
LL sum=0;
cin>>s;
for (int i = 0; i < s.length();++i) {
int temp = s[i]-'0';
arr[temp]++;
sum+=temp;
}
if (arr[0]==0 || sum%3!=0) cout<<"-1"<<endl;
else{
for (int i = 9; i >=0 ; --i) {
for (int j = 0; j < arr[i]; ++j) {
cout<<i;
}
}
}
return 0;
}