Pagini recente » Cod sursa (job #887979) | Cod sursa (job #210031) | Cod sursa (job #1962453) | Cod sursa (job #1196714) | Cod sursa (job #363540)
Cod sursa(job #363540)
#include<stdio.h>
using namespace std;
int mat[26][26], N, M, m[1001][26];
const int modulo = 104659;
int main()
{ int i, j,k;
char a,b;
freopen("nrcuv.in", "r", stdin);
freopen("nrcuv.out", "w", stdout);
scanf("%d %d\n", &N, &M);
for(i = 1; i <= M; i++)
{
scanf("%c %c\n", &a, &b);
mat[a - 'a'][b - 'a'] = 1;
mat[b - 'a'][a - 'a'] = 1;
}
for(i = 0; i <= 25; i++)
{
m[1][i] = 1;
}
for(i = 2; i <= N; i++)
for(j = 0; j <= 25; j++)
{
for(k = 0; k <= 25; k++)
if(!mat[k][j])
{
// m[i][j] = (m[i][j] + m[i-1][k]) % modulo;
m[i][j] += m[i-1][k];
if (m[i][j] >= modulo)
m[i][j] -= modulo;
}
}
int sol = 0;
for(i = 0; i <= 25; i++)
{
sol += m[N][i];
if(sol >= modulo)
sol -= modulo;
}
printf("%d\n", sol);
return 0;
}