Cod sursa(job #829646)

Utilizator vlad.doruIon Vlad-Doru vlad.doru Data 5 decembrie 2012 18:05:13
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream in("nrcuv.in");
ofstream out("nrcuv.out");

bool invalid[27][27];
int n,m,a[27][1010];

int main(){
	in>>n>>m;
	int i;
	char x,y;
	for(i=1;i<=m;++i){
		in>>x>>y;
		invalid[x-'a'][y-'a']=true;
		invalid[y-'a'][x-'a']=true;
	}
	for(i=0;i<26;++i){
		a[i][1]=1;
	}
	int j,k;
	for(i=1;i<n;++i){
		for(j=0;j<26;++j){
			for(k=0;k<26;++k){
				if(!invalid[j][k]){
					a[k][i+1]+=a[j][i];
					a[k][i+1]%=104659;
				}
			}
		}
	}
	int result=0;
	for(i=0;i<26;++i){
		result+=a[i][n];
	}
	out<<result%104659;
	return 0;
}