Pagini recente » Cod sursa (job #665703) | Cod sursa (job #722649)
Cod sursa(job #722649)
#include <cstdio>
#include <cstring>
using namespace std;
int n, m;
bool x[27][27];
int d[1001][27];
void read () {
memset (x, 0, sizeof(x));
int i;
char a, b;
scanf("%d %d\n", &n, &m);
for (i=1; i<=m; ++i) {
scanf("%c %c\n", &a, &b);
x[a-'a'+1][b-'a'+1] = 1;
x[b-'a'+1][a-'a'+1] = 1;
}
}
void solve () {
int i, j, k;
for (i=1; i<=26; ++i)
d[1][i] = 1;
for (k=1; k<=n; ++k)
for (i=1; i<=26; ++i)
for (j=1; j<=26; ++j) {
if (x[j][i] == 0)
d[k][i] += d[k-1][j];
d[k][i] %= 104659;
}
}
long long sum () {
int i;
long long s=0;
for (i=0; i<=26; ++i) {
s += d[n][i];
s %= 104659;
}
return s;
}
int main () {
freopen("nrcuv.in", "r", stdin);
read();
fclose(stdout);
solve();
long long s = sum();
freopen("nrcuv.out", "w", stdout);
printf("%lld\n", s);
fclose(stdout);
return 0;
}