Pagini recente » Cod sursa (job #1422607) | Cod sursa (job #3364031) | Cod sursa (job #3364137) | Cod sursa (job #3363696) | Cod sursa (job #3363967)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
const int MOD = 104659;
int n , m;
int dp[1005][27];
set<int> lit[27];
int main(){
fin >> n >> m;
for(int i = 0 ; i < 26 ; i++){
for(int j = 0 ; j < 26 ; j++){
lit[i].insert(j);
}
}
while(m--){
char a , b;
fin >> a >> b;
lit[a - 'a'].erase(b - 'a');
lit[b - 'a'].erase(a - 'a');
}
for(int i = 0 ; i < 26 ; i++) dp[1][i] = 1;
for(int i = 2 ; i <= n ; i++){
for(int l = 0 ; l < 26 ; l++){
for(int last : lit[l]){
dp[i][last] = (dp[i][last] + dp[i - 1][last]) % MOD;
}
}
}
int rez = 0;
for(int i = 0; i < 26 ; i++){
rez = (rez + dp[n][i]) % MOD;
}
fout << rez;
}