Pagini recente » Cod sursa (job #959164) | Cod sursa (job #545863) | Cod sursa (job #2179451) | Cod sursa (job #1648687) | Cod sursa (job #1601284)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("nrcuv.in");
ofstream out ("nrcuv.out");
int n,m,nr[1005][28],mat[27][27];
//abcdefghijklmnopqrstuvwxyz-->26
//nr[i][k] -numarul de cuvinte cu i litere care se termina cu a ja litera
int main()
{
int i,j,sum=0,k;
char a, b;
in>>n>>m>>ws;
for(i=1; i<=m; i++)
{
in>>a>>ws>>b>>ws;
mat[a-'a'][b-'a']=mat[b-'a'][a-'a']=1;
}
/*for(j=0; j<26; j++)
{
for(k=0; k<26; k++)
out<<mat[j][k]<<" ";
out<<'\n';
}*/
for(i=0; i<26; i++)
nr[1][i]=1;
for(i=2; i<=n; i++)
for(j=0; j<26; j++)
for(k=0; k<26; k++)
if(!mat[j][k])
nr[i][j]=(nr[i][j]+nr[i-1][k])%104659;
for(i=0; i<26; i++)
sum+=nr[n][i]%104659;
out<<sum;
return 0;
}