Cod sursa(job #796998)

Utilizator roots4Irimia Alexandru Gabriel roots4 Data 13 octombrie 2012 09:46:37
Problema Lista lui Andrei Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>
#define dim 140
#define mod  104659
FILE*f=fopen("nrcuv.in","r");
FILE*g=fopen("nrcuv.out","w");

int i,j,n,m,k,e,A[dim],B[dim],sum,V[dim][dim];
char a,b;

void read(){
	fscanf(f,"%d%d\n",&n,&m);
	for(i=1;i<=m;i++){
		fscanf(f,"%c %c\n",&a,&b);
		V[a][b]=1;
		V[b][a]=1;
	}
}

void copy(){
	for(j='a';j<='z';j++)
		A[j]=B[j],B[j]=0;
}


int main(){
	read();
	
	for(i='a';i<='z';i++)
		A[i]=1;
	
	for(i=2;i<=n;i++){
		for(k='a';k<='z';k++){
			for(e='a';e<='z';e++){
				if(!V[e][k]){
					B[k]+=A[e];
					if(B[k]>=mod)
						B[k]-=mod;
				}
			}
		}
		copy();
	}
	
	for(i='a';i<='z';i++)
		sum+=A[i];
	
	fprintf(g,"%d",sum);
	
	return 0;
}