Pagini recente » Cod sursa (job #498421) | Cod sursa (job #41074) | Cod sursa (job #2719809) | Cod sursa (job #2241916) | Cod sursa (job #2396093)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
const int NMAX = 1005;
const int MOD = 104659;
int dp[NMAX][30];
int rel[35][35];
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
int n , m;
char a,b;
scanf("%d%d\n",&n,&m);
for(int i = 1 ; i <= m ; i++)
{
scanf("%c %c\n",&a,&b);
rel[a-'a'][b-'a']=1;
rel[b-'a'][a-'a']=1;
}
int sum = 0;
for(int i = 0 ; i < 26 ; i++)
dp[1][i] = 1;
for(int i = 1 ; i <= n ; i++)
{
for(int j = 0 ; j <= 25 ; j++)
{
for(int k = 0 ; k <= 25 ; k++)
if(rel[k][j] == 0)
dp[i][j] = (dp[i][j] + dp[i-1][k]) % MOD;
}
}
for(int i = 0 ; i <= 25 ; i++)
sum = (sum + dp[n][i]) % MOD;
printf("%d",sum);
return 0;
}