Pagini recente » Cod sursa (job #161572) | Cod sursa (job #1773767) | Cod sursa (job #132129) | Cod sursa (job #1114926) | Cod sursa (job #915532)
Cod sursa(job #915532)
#include <stdio.h>
using namespace std;
int poz[27][27];
int dp[1000][30];
int N, M, i, j, j2;
char x, y;
int main(){
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", &x, &y);
poz[x -'a' + 1][y -'a' + 1] = 1;
poz[y -'a' + 1][x -'a' + 1] = 1;
}
for(i = 1; i <= 26; i++){
dp[1][i] = 1;
}
for(i = 2; i <= N; i++){
for(j = 1; j <= 26; j++){
for(j2 = 1; j2 <= 26; j2++){
if(!poz[j][j2]){
dp[i][j2] += dp[i-1][j];
dp[i][j2] %= 104659;
}
}
}
}
int rez = 0;
for(i = 1; i <= ('z' - 'a' + 1); i++){
rez += dp[N][i];
rez %= 104659;;
}
printf("%d", rez);
}