Pagini recente » Cod sursa (job #1549153) | Cod sursa (job #473957) | Cod sursa (job #2895071) | Cod sursa (job #2884891) | Cod sursa (job #1142149)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
char car[27][27];
int n,m;
int modulo =104659;
int sir[1007][27];
int main()
{
ifstream fin ("nrcuv.in");
ofstream fout ("nrcuv.out");
fin>>n>>m;
char a,b;
for(int i=0;i<m;i++)
{
fin>>a>>b;
if(!strchr(car[a-'a'],b))
{
int nr = strlen(car[a-'a']);
car[a-'a'][nr]=b;
}
if(!strchr(car[b-'a'],a))
{
int nr = strlen(car[b-'a']);
car[b-'a'][nr]=a;
}
}
int p = 0;
for(int j=0;j<26;j++)
sir[0][j]=1;
for(int i=1;i<n;i++){
for(int j=0;j<26;j++)
for(int k=0;k<26;k++){
if(!strchr(car[j],k+'a'))
sir[i][k]=(sir[i][k]+sir[i-1][j])%modulo;
}
}
for(int j=0;j<26;j++)
p=(p+sir[n-1][j])%modulo;
fout<<p<<'\n';
return 0;
}