Cod sursa(job #1017799)

Utilizator alexandru213Bracau Alexandru alexandru213 Data 28 octombrie 2013 15:02:49
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<fstream>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
int b[28][28],a[1001][28],i,j,p,g,s,m,n;
char x,y;
int main () {
	in>>n>>m;
	g='z'-'a';
	for(i=1;i<=m;i++){
		in>>x>>y;
		b[x-'a'][y-'a']=b[y-'a'][x-'a']=1;}
	for(i=0;i<=g;i++)
		a[1][i]=1;
	for(i=2;i<=n;i++)
		for(p=0;p<=g;p++)
			for(j=0;j<=g;j++)
				if(b[p][j]==0)
					a[i][p]=(a[i][p]+a[i-1][j])%104659;
	s=0;
	for(i=0;i<=g;i++)
		s=(s+a[n][i])%104659;
	out<<s;
	return 0;
}