Pagini recente » Cod sursa (job #2286079) | Cod sursa (job #1282555) | Cod sursa (job #2691740) | Cod sursa (job #2531046) | Cod sursa (job #1739401)
#include<fstream>
#define DIM 100010
using namespace std;
int n, m;
char x, y;
int a[27][27], d[27][1006], i, lg, j, k, sol;
//ifstream fin ("scmax.in");
//ofstream fout("scmax.out");
ifstream fin ("nrcuv.in");
ofstream fout("nrcuv.out");
int main(){
fin>>n>>m;
for(i=1;i<=m;i++){
fin>>x>>y;
a[x-'a'][y-'a']=1;
a[y-'a'][x-'a']=1;
}
//d[i][j]=cate cuv de lungime j se termina cu litera i cu i de la o la 25 si j de la 1 la n
for(i=0;i<=25;i++)
d[i][1]=1;
for(lg=2;lg<=n;lg++)
for(i=0;i<=25;i++){
//calculez cate siruri de lungime lg se termina cu litera i
d[i][lg]=0;
for(k=0;k<=25;k++)
if(a[k][i]==0){
d[i][lg]+=d[k][lg-1];
d[i][lg]%=104659;
}
}
int MOD=104659;
for(i=0;i<=25;i++){
sol+=d[i][n];
if(sol >= MOD)
sol -=MOD;
}
fout<<sol;
return 0;
}