Cod sursa(job #189766)

Utilizator sory1806Sandu Sorina-Gabriela sory1806 Data 18 mai 2008 09:39:33
Problema Lista lui Andrei Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
int a[27][27], n, m;
long x[100][27];
FILE *f, *g;

void read()
{	char c, d, o, p;
	int i;
	fscanf(f, "%d%d%c", &n, &m, &o);
	for(i=0; i<m; i++)
	{ 	fscanf(f, "%c%c%c%c", &c, &o, &d, &p);
		a[c-'a'][d-'a']=1;
		a[d-'a'][c-'a']=1;
	}
}

void solve()
{       int i, j, k;
	long s;
	for(i=0; i<26; i++)
		x[1][i]=1;
	for(i=2; i<=n; i++)
	{       for(j=0; j<26; j++)
		{	s=0;
			for(k=0; k<26; k++)
			{       if(a[k][j]!=1)
				{	s+=x[i-1][k];
					s%=104659;
				}
			}
			x[i][j]=s;
		}
	}
	s=0;
	for(i=0; i<26; i++)
	{	s+=x[n][i];
		s%=104659;
	}
	fprintf(g, "%ld\n", s);
}

int main()
{      	f=fopen("nrcuv.in", "r");
	g=fopen("nrcuv.out", "w");
	read();
	solve();
	fclose(f);
	fclose(g);
	return 0;
}