Pagini recente » Cod sursa (job #166927) | Cod sursa (job #43056) | Cod sursa (job #2256340) | Cod sursa (job #1728784) | Cod sursa (job #2761306)
#include <bits/stdc++.h>
using namespace std;
const int MOD = 104659;
int n,m;
bool mat[26][26];
int dp[1003][26];
int main(){
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i=1;i<=m;i++){
char a,b;
scanf(" %c %c",&a,&b);
mat[a-'a'][b-'a'] = 1;
mat[b-'a'][a-'a'] = 1;
}
for(int i=0;i<26;i++)
dp[1][i] = 1;
for(int i=2;i<=n;i++){
for(int j=0;j<26;j++){
for(int k=0;k<26;k++){
if(!mat[j][k])
dp[i][j] = (dp[i][j] + dp[i-1][k]) % MOD;
}
}
}
int ans = 0;
for(int i=0;i<26;i++){
ans = (ans + dp[n][i])%MOD;
}
printf("%d\n",ans);
return 0;
}