Pagini recente » Cod sursa (job #323905) | Cod sursa (job #2140578) | Cod sursa (job #3238637) | Cod sursa (job #2394318) | Cod sursa (job #468988)
Cod sursa(job #468988)
#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;
}