Pagini recente » Cod sursa (job #2303577) | Cod sursa (job #211966) | Cod sursa (job #1768892) | Cod sursa (job #1688424) | Cod sursa (job #2626727)
#include <bits/stdc++.h>
using namespace std;
int a[27][27];
int b[27][1003];
int v[27];
int n, m;
int main()
{
freopen("nrcuv.in", "r", stdin);
freopen("nrcuv.out", "w", stdout);
scanf("%d %d",&n,&m);
int x1, x2;
char c1, c2,d1;
scanf("%d",&d1);
int i, j;
for(i=1;i<=m;i++) {
scanf("%c %c",&c1,&c2);
x1 = int(c1) - 96;
x2 = int(c2) - 96;
scanf("%c",&d1);
a[x1][x2] = a[x2][x1] = 1;
}
for(i=1;i<=26;i++)
{
for(j=1;j<=26;j++)
b[i][1] += a[i][j];
}
for(i=1;i<=26;i++)
b[i][1] = 26 - b[i][1];
int t = 2;
while(t < n)
{
for(i=1;i<=26;i++) {
for(j=1;j<=26;j++)
{
if(a[i][j] == 0)
b[i][t] += (b[j][t-1])%104659;
}
b[i][t] = b[i][t] % 104659;
}
t++;
}
int s = 0;
for(i=1;i<=26;i++)
{
s += b[i][n-1]%104659;
}
s = s%104659;
if(n==1)
printf("26");
else
printf("%d",s);
return 0;
}