Cod sursa(job #1060164)

Utilizator acomAndrei Comaneci acom Data 17 decembrie 2013 18:18:57
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<cstdio>
#include<iostream>
using namespace std;
#define MOD 104659
int n,m,s,a[28][28],D[1005][28];
char x,y;
int main()
{
    int i,j,k;
    freopen("nrcuv.in","r",stdin);
    freopen("nrcuv.out","w",stdout);
    scanf("%d%d",&n,&m);
    for (i=0;i<m;++i)
    {
        cin>>x>>y;
        a[x-'a'+1][y-'a'+1]=a[y-'a'+1][x-'a'+1]=1;
    }
    for (i=1;i<=26;++i) D[1][i]=1;
    for (i=2;i<=n;++i)
        for (j=1;j<=26;++j)
            for (k=1;k<=26;++k)
                if (!a[j][k])
                    D[i][j]+=D[i-1][k], D[i][j]%=MOD;
    for (i=1;i<=26;++i)
        s+=D[n][i], s%=MOD;
    printf("%d\n",s);
    return 0;
}