Pagini recente » Cod sursa (job #596541) | Cod sursa (job #3172392) | Cod sursa (job #1218545) | Cod sursa (job #1296019) | Cod sursa (job #658466)
Cod sursa(job #658466)
#include <cstdio>
#include <iostream>
#define NMAX 1001
#define MOD 104659
using namespace std;
int l[26][26];
int a[NMAX][26]; //cate cuvinte de lungime i se pot forma care au pe ultima pozitie j
int N, M;
int main()
{
int i,j,k,sol;
char la, lb;
freopen("nrcuv.in", "r", stdin);
freopen("nrcuv.out", "w", stdout);
scanf("%d %d", &N, &M);
for(i=0;i<M;++i)
{
cin.get();
scanf("%c %c", &la, &lb);
l[la-'a'][lb-'a'] = 1;
l[lb-'a'][la-'a'] = 1;
}
for(i=0;i<26;++i)
{
a[1][i] = 1;
}
for(i=2;i<=N;++i)
{
for(j=0;j<26;++j)
{
for(k=0;k<26;++k)
{
if(l[j][k] == 0)
{
a[i][j] += a[i-1][k];
if(a[i][j] > MOD)
{
a[i][j] %= MOD;
}
}
}
}
}
sol = 0;
for(i=0;i<26;++i)
{
sol += a[N][i];
if(sol > MOD)
{
sol %= MOD;
}
}
printf("%d", sol);
return 0;
}