Pagini recente » Cod sursa (job #851081) | Cod sursa (job #2573339) | Cod sursa (job #858410) | Cod sursa (job #2152504) | Cod sursa (job #1206389)
#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]; d[i][j]%=prim; }
}
sol=0;
for (i=0; i<26; i++) { sol+=d[N][i]%prim; sol%=prim; }
out << sol;
}