Cod sursa(job #465979)

Utilizator cristian9Cristian Zloteanu cristian9 Data 25 iunie 2010 16:57:53
Problema Ratphu Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
int n=1,fol[101],v[101], k, u[101], q, nr, j; 

void perm(int poz){
	int i, a=1;
	if(poz==n+1){
		for(i=1; i<=n; i++){
			if(i>1){
				a=a*10;
			}
			nr+=u[v[i]]*a;
		}
		if(nr%k==0){
			q++;
		}
		a=1;
		nr=0;
	}
	else{
		for(i=1;i<=n;i++){
			if(fol[i]==0){
				v[poz]=i;
				fol[i]=1;
				perm(poz+1);
				fol[i]=0;
			}
		}
	}
}

int  main(){
	freopen("ratphu.in","r",stdin);
	freopen("ratphu.out","w",stdout);
	
	char c=0;
	
	while(c!=' '){
		scanf("%c", &c);
		u[n]=c-'0';
		n++;
	}
	
	n-=2;
	scanf("%d ", &k);
	
	perm(1);
	printf("%d ", q);
	
	return 0;
}