Cod sursa(job #562816)

Utilizator titusuTitus C titusu Data 23 martie 2011 22:26:40
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
#define MOD 104659
using namespace std;

int a[26][1001],n,p[26][26];

int main(){
	ifstream fin("nrcuv.in");
	fin>>n;
	int m;
	fin>>m;
	for( ; m ; --m){
		char x,y;
		fin>>x>>y;
		x-='a', y-='a';
		p[x][y]=p[y][x]=1;
	}
	for(int i=0;i<26;++i)
		a[i][1]=1;
	for(int j=2;j<=n;++j)
		for(int i=0;i<26;++i){
			int s=0;
			for(int k=0;k<26;++k)
				if(p[i][k]==0)
					s=(s+a[k][j-1]) % MOD;
			a[i][j]=s;
		}
	ofstream fout("nrcuv.out");
	int s=0;
	for(int i=0;i<26;++i)
		s = (s+a[i][n])% MOD;
	fout<<s<<endl;
	return 0;
}