Pagini recente » Cod sursa (job #1878912) | Cod sursa (job #996637) | Cod sursa (job #1035829) | Cod sursa (job #2395359) | Cod sursa (job #2087955)
#include <iostream>
#include<cstdio>
using namespace std;
bool comp[26][26];
int d[1001][26];
const int MOD=104659;
int recurs(int i,int c){
int j;
if(i==1)
return 1;
if(d[i][c])
return d[i][c];
int s=0%104659;
for(j=0;j<26;j++){
if(comp[c][j]==false){
s+=(recurs(i-1,j)%104659);
}
}
d[i][c]=s%104659;
return s%104659;
}
int main()
{
int i,n,m;
char c1,c2;
FILE*fin,*fout;
fin=fopen("nrcuv.in","r");
fout=fopen("nrcuv.out","w");
fscanf(fin,"%d%d ",&n,&m);
for(i=1;i<=m;i++){
fscanf(fin,"%c %c ",&c1,&c2);
comp[c1-'a'][c2-'a']=comp[c2-'a'][c1-'a']=true;
}
int s;
for(i=0;i<26;i++){
s+=recurs(n,i);
}
fprintf(fout,"%d",s);
return 0;
}