Pagini recente » Cod sursa (job #2542084) | Cod sursa (job #29419) | Cod sursa (job #2527168) | Cod sursa (job #1927808) | Cod sursa (job #1206388)
#include <fstream>
#include <string.h>
#define prim 104659
using namespace std;
int N,M,d[1100][26],sol; bool allowed[26][26];
int ind(char lit){
return lit-'a';
}
int main(){
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
in >> N >> M;
memset(allowed,1,sizeof(allowed));
int i,j,k; char c1,c2;
for (i=0; i<M; i++){
in >> c1 >> c2;
allowed[ind(c1)][ind(c2)]=allowed[ind(c2)][ind(c1)]=0;
}
memset(d,0,sizeof(d));
for (i=0; i<26; i++) d[1][i]=1;
for (i=2; i<=N; i++){
for (j=0; j<26; j++)
for (k=0; k<26; k++)
if (allowed[j][k]) d[i][j]+=(d[i-1][k])%prim;
}
sol=0;
for (i=0; i<26; i++) sol+=d[N][i]%prim;
out << sol;
}