Cod sursa(job #3134026)

Utilizator Ilie_MityIlie Dumitru Ilie_Mity Data 27 mai 2023 21:52:35
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
//Ilie Dumitru
#include<cstdio>
const int NMAX=1024;
const int MOD=104659;

int ad[26][26];
int N;
int ans[NMAX][26];
char s[10];

int main()
{
	FILE* f=fopen("nrcuv.in", "r"), *g=fopen("nrcuv.out", "w");
	//FILE* f=stdin, *g=stdout;
	int i, j, k, _;

	for(i=0;i<26;++i)
		for(j=0;j<26;++j)
			ad[i][j]=1;

	fscanf(f, "%d%d", &N, &_);
	fgets(s, 10, f);
	for(i=0;i<_;++i)
	{
		fgets(s, 10, f);
		ad[s[0]-'a'][s[2]-'a']=0;
		ad[s[2]-'a'][s[0]-'a']=0;
	}

	for(i=0;i<26;++i)
		ans[0][i]=1;
	for(i=1;i<N;++i)
	{
		for(j=0;j<26;++j)
			for(k=0;k<26;++k)
				if(ad[j][k])
					ans[i][k]=(ans[i][k]+ans[i-1][j])%MOD;
	}

	j=0;
	for(i=0;i<26;++i)
		j=(j+ans[N-1][i])%MOD;
	fprintf(g, "%d\n", j);

	fclose(f);
	fclose(g);
	return 0;
}