Cod sursa(job #714213)

Utilizator stelutaSfiriac Bianca steluta Data 15 martie 2012 16:09:12
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<cstdio>

int n, m, i, j, k, a[30][30], v[1005][30];
long s;
char c1, c2;

int main () {
    freopen("nrcuv.in", "r", stdin);
    freopen("nrcuv.out", "w", stdout);
    scanf("%d %d\n", &n, &m);

    for (i=1; i<=m; ++i) {
        scanf("%c %c\n", &c1, &c2);
        a[c1-'a'+1][c2-'a'+1]=a[c2-'a'+1][c1-'a'+1]=1;
    }

    for (i=1; i<=26; ++i)
        v[1][i]=1;
    for (i=2; i<=n; ++i)
        for (j=1; j<=26; ++j)
            for (k=1; k<=26; ++k)
                if (a[k][j]==0)
                    v[i][j]=(v[i][j]+v[i-1][k])%104659;
    for (i=1; i<=26; ++i)
        s=(s+v[n][i])%104659;
    printf("%ld", s);

    return 0;
}