Pagini recente » Cod sursa (job #2347516) | Cod sursa (job #362075) | Cod sursa (job #410236) | Cod sursa (job #2509311) | Cod sursa (job #2118433)
#include <bits/stdc++.h>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
int n, m, dp[1010][30], rs;
char c, g;
bool ok[30][30];
int main(){
in >> n >> m;
for(int i = 1; i <= m; i++){
in >> c >> g;
ok[c - 'a'][g - 'a'] = ok[g - 'a'][c - '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(!ok[j][k])
dp[i][j] = (dp[i][j] + dp[i - 1][k]) % 104659;
for(int j = 0; j < 26; j++)
rs = (rs + dp[n][j]) % 104659;
out << rs;
return 0;
}