Pagini recente » Cod sursa (job #3364305) | Cod sursa (job #3364143) | Cod sursa (job #3362037) | Cod sursa (job #3363542) | Cod sursa (job #3363968)
#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][l] = (dp[i][l] + dp[i - 1][last]) % MOD;
}
}
}
int rez = 0;
for(int i = 0; i < 26 ; i++){
rez = (rez + dp[n][i]) % MOD;
}
fout << rez;
}