| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
bangmangkan yi xia#include<iomanip.h>
#include<string.h>
int main()
{
char s[1011];
while(cin>>s)
{
int dig[10] = {0}, sum = 0,i,j;
for (i = 0;i<(int)strlen(s); i++)
{
dig[s[i] - '0']++;
sum += s[i] - '0';
}
if (dig[0] + dig[5] == 0)
{
cout<<"impossible"<<endl;
return 0;
}
else
{
if(dig[0]>0)
{
if(sum%3==0)
{
if(sum==0)
{
cout<<0;
}
else
for(i=9;i>=0;i--)
{
for(j=dig[i];j>0;j--)
{
cout<<i;
}
}
cout<<endl;
}
else
{
for(i=0;i<=9;i++)
{
if(dig[i]>0&&((i-(sum%3))%3==0))
{
dig[i]--;
break;
}
}
if(i>9)
{
while(sum%3!=0)
{
for(j=1;j<=9;j++)
{
if(dig[j]>0)
{
dig[j]--;
sum-=j;
break;
}
}
if(j>9)
{
cout<<'0'<<endl;
break;
}
}
if(sum==0)
{
cout<<0;
}
else
if(sum%3==0)
{
for(i=9;i>=0;i--)
{
for(j=dig[i];j>0;j--)
{
cout<<i;
}
}
cout<<endl;
}
}
else
{
if(dig[1]+dig[2]+dig[3]+dig[4]+dig[5]+dig[6]+
dig[7]+dig[8]+dig[9]==0)
{
cout<<0;
}
else
for(i=9;i>=0;i--)
{
for(j=dig[i];j>0;j--)
{
cout<<i;
}
}
cout<<endl;
}
}
}
else
if(dig[5]>0&&dig[0]==0)
{
dig[5]--;
if(sum%3==0)
{
for(i=9;i>=0;i--)
{
for(j=dig[i];j>0;j--)
{
cout<<i;
}
}
cout<<5<<endl;
}
else
{
for(i=0;i<=9;i++)
{
if(dig[i]>0&&((i-(sum%3))%3==0))
{
dig[i]--;
sum-=i;
break;
}
}
if(i>9)
{
while(sum%3!=0)
{
for(j=1;j<=9;j++)
{
if(dig[j]>0)
{
dig[j]--;
sum-=j;
break;
}
}
if(j>9)
{
cout<<"impossible"<<endl;
break;
}
}
if(sum%3==0)
{
for(i=9;i>=0;i--)
{
for(j=dig[i];j>0;j--)
{
cout<<i;
}
}
cout<<endl;
}
}
else
{
for(i=9;i>=0;i--)
{
for(j=dig[i];j>0;j--)
{
cout<<i;
}
}
cout<<5<<endl;
}
}
}
}
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator