题目链接:HXY玩卡片
很水,
简单讲一下思路。
如果没有0,直接无解,因为不可能是10的倍数。
是9的倍数,则各个数位上的数字和为9的倍数,所以5的数量一定是9的倍数,所以只要尽可能多输出9的倍数个5,然后把0全放后面就行。
下面给代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
int nz=0,nf=0;
scanf("%d",&n);
for(int i=0;i<n;i++){
int x;
scanf("%d",&x);
if(x==0){
nz++;
}else{
nf++;
}
}
if(nz==0){
printf("-1");
}else{
int x=nf/9;
if(x==0){
printf("0");
}else{
for(int i=0;i<x*9;i++){
printf("5");
}
for(int i=0;i<nz;i++){
printf("0");
}
}
}
return 0;
}