Pagini recente » Cod sursa (job #1966794) | Cod sursa (job #119490) | Cod sursa (job #1507349) | Cod sursa (job #2305806) | Cod sursa (job #465776)
Cod sursa(job #465776)
#include<fstream.h>
ofstream fout("ratphu.out");
long long o[20],p,q,pos,n,v[20],nr,x[20],a[20];
void back(int k)
{
long i,j;
if(k>n)
{for(j=1;j<=n;++j)
fout<<a[j]<<" ";
fout<<'\n';
fout.close();
exit(0);
}
else
for(i=1;i<=n;++i)
if(v[i]==0)
{a[k]=o[x[i]];
o[x[i]]--;
v[i]=1;
nr=nr*10+x[i];
if(nr%p==0)
{ nr=0;
}
if(k==n&&nr%p==0)
back(k+1);
else
if(k<n)
back(k+1);
nr-=x[i];nr/=10;
v[i]=0;
o[x[i]]++;
}
}
int main()
{ifstream fin("ratphu.in");
fin>>q>>p;
n=0;
while(q)
{++n;x[n]=q%10;
o[x[n]]++;
q/=10;
}
long long i,j,aux;
for(i=1,j=n;i<j;++i,--j)
{aux=x[i];x[i]=x[j];x[j]=aux;}
fin.close();
back(1);
fout<<pos<<'\n';
fout.close();
return 0;
}