Pagini recente » Cod sursa (job #2286069) | Cod sursa (job #2999058) | Cod sursa (job #444885) | Cod sursa (job #1202224) | Cod sursa (job #789946)
Cod sursa(job #789946)
#include<iostream>
#include<fstream>
using namespace std;
const int val=96,modul=104659;
long long n,m,i,sol[1005][30],j,suma,k;
char a,b;
bool list[30][30];
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%lld %lld\n",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%c %c\n",&a,&b);
list[a-val][b-val]=true;
list[b-val][a-val]=true;
}
for(i=1;i<=26;i++)
sol[1][i]=1;
for(i=1;i<n;i++)
for(j=1;j<=26;j++)
{
for(k=1;k<=26;k++)
if(list[j][k]==false&&list[k][j]==false)
sol[i+1][j]+=sol[i][k];
sol[i+1][j]=sol[i+1][j]%modul;
}
for(i=1;i<=26;i++)
suma+=sol[n][i];
while(suma>modul)
suma-=modul;
printf("%lld\n",suma);
return 0;
}