Cod sursa(job #754201)

Utilizator bora_marianBora marian bora_marian Data 31 mai 2012 23:22:37
Problema Ratphu Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<iostream>
#include<fstream>
#define DIM 20
using namespace std;
int c[DIM],nr;
long long n,a[1<<DIM][DIM],p;
int main()
{
	ifstream fin("ratphu.in");
	ofstream fout("ratphu.out");
	fin>>n>>p;
	int i,j,k;
	while(n)
	{
		c[nr++]=n%10;
		n=n/10;
	}
	int lim=(1<<nr);
	for(i=0;i<nr;i++)
		a[1<<i][c[i]%p]++;
	for(i=1;i<lim;i++)
	{
		for(j=0;j<p;j++)
		{
			if(a[i][j]!=0)
			{
				for(k=0;k<nr;k++)
					if(!(i&(1<<k)))
						a[i|(1<<k)][(j*10+c[k])%p]+=a[i][j];
			}
		}
	}
	fout<<a[lim-1][0];
	return 0;
}