Pagini recente » Cod sursa (job #1820100) | Istoria paginii runda/1_24_2010 | Cod sursa (job #493721) | Istoria paginii runda/10f_07_apr | Cod sursa (job #2367735)
#include <iostream>
#include <cstdio>
#include <string.h>
#define MOD 104659
using namespace std;
char x, y;
int a[30][30];
long long fr[30], nr[30];
int n, m;
long long r;
void rez()
{
scanf("%d %d\n", &n, &m);
for(int i = 0; i<26; i++)
{
nr[i] = 1;
}
for(int i = 0; i<m; i++)
{
scanf("%c %c\n", &x, &y);
a[x-'a'][y-'a'] = 1;
a[y-'a'][x-'a'] = 1;
}
for(int i = 1; i<n; i++)
{
for(int i = 0; i<26; i++)
{
for(int j = 0; j<26; j++)
{
if(a[i][j] == 0)
{
fr[i]=(fr[i] + nr[j])%MOD;
}
}
}
for(int j = 0; j<26; j++)
{
nr[j]=fr[j];
}
memset(fr, 0, sizeof(fr));
}
for(int i = 0; i<26; i++)
{
r=(r+nr[i])%MOD;
}
printf("%lld", r);
}
int main()
{
freopen("nrcuv.in", "r", stdin);
freopen("nrcuv.out", "w", stdout);
rez();
return 0;
}