Pagini recente » Cod sursa (job #1004079) | Monitorul de evaluare | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1541036)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
const int modulo=104659;
int d[1001][2001],n,m;
bool a[26][26];
int main()
{
in>>n>>m;
char x,y;
int tp=0;
for(int i=1;i<=m;i++){
in>>x>>ws>>y>>ws;
a[x-'a'][y-'a']=a[y-'a'][x-'a']=true;
}
for(int i=0;i<=25;i++)
d[1][i]=1;
for(int i=2;i<=n;i++)
for(int j=0;j<=25;j++)
for(int k=0;k<=25;k++){
if(a[k][j]==false){
d[i][j]+=d[i-1][k];
d[i][j]=d[i][j]%modulo;
}
}
for(int i=0;i<=25;i++){
tp+=d[n][i];
tp%=modulo;
}
out<<tp;
return 0;
}