http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1433
思路:
数论中关于9的倍数的理论:若是一个数能被9整除,则各位数之和为9的倍数。
因为这题是90的倍数,所以至少得有一个0。
分别统计0和5的个数,9个5相加的话就是9的倍数,计算出能有几个9个5,剩下的0全排最后就可以了。
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<vector>
#include<stack>
#include<queue>
#include<cmath>
using namespace std; int n; int main()
{
//freopen("D:\\input.txt","r",stdin);
int x;
while(scanf("%d",&n)!=EOF)
{
int sum_5=,sum_0=;
while(n--)
{
scanf("%d",&x);
if(x==) sum_5++;
else sum_0++;
}
if(sum_0==) {puts("-1");continue;}
sum_5-=sum_5%;
if(sum_5)
{
while(sum_5--)
printf("");
while(sum_0--)
printf("");
printf("\n");
}
else puts("");
}
return ;
}