Cod sursa(job #468988)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 5 iulie 2010 16:33:22
Problema Ratphu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <string.h>

FILE *f,*s;

char v1[50];

int n,r,i,j,k;

long long v2[1<<20][20];

int main()
{
	f=fopen("ratphu.in","r");
	s=fopen("ratphu.out","w");
	
	fscanf(f,"%s %d",&v1,&k);
	
	n=strlen(v1);
	
	for(j=0;j<(1<<n);j++)
	{	
        for (r=0;r<k;r++)
		{	
            if(v2[j][r]!=0)
			{	
                for (i=0;i<n;i++)
				{	
                    if (((j >> i) & 1) == 0)
					{
                        int aj=j|(1<<i);
                        int aR=r*10+(v1[i]-'0');
						
                        if (aR>=k) aR %=k;
                        v2[aj][aR] += v2[j][r];
                    }
				}	
			}		
		}			
	}
	
    fprintf(s,"%lld\n", v2[(1 << n) - 1][0]);
	
	fclose(s);
	
	return 0;
}