Cod sursa(job #2209843)

Utilizator AlexPascu007Pascu Ionut Alexandru AlexPascu007 Data 4 iunie 2018 21:28:49
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n,m,i,j,k,a[30][30],d[1010][30];
char c1,c2;
long long sol;
int main() {
	fin>>n>>m;
	for (i=1;i<=m;i++) {
		fin>>c1>>c2;
		a[c1-'a'][c2-'a']=1;
	}
	for (i=0;i<=25;i++)
		d[1][i]=1;
	for (i=2;i<=n;i++) {
		for (j=0;j<=25;j++) {
			for (k=0;k<=25;k++) {
				if (a[j][k]==0&&a[k][j]==0)
					d[i][j]+=d[i-1][k]%104659;
			}
		}
	}
	for (i=0;i<=25;i++)
		sol+=d[n][i]%104659;
	fout<<sol%104659;
	return 0;
}