Cod sursa(job #465776)

Utilizator cosmyoPaunel Cosmin cosmyo Data 25 iunie 2010 13:07:05
Problema Ratphu Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2010, gimnaziu si clasa a IX-a, Ziua 1 Marime 0.81 kb
#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;
}