Cod sursa(job #855935)

Utilizator assa98Andrei Stanciu assa98 Data 15 ianuarie 2013 20:20:30
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
#define mod 104659

int n,m;

int sp[30][30];

int d[1010][30];

int main()
{
    freopen("nrcuv.in","r",stdin);
    freopen("nrcuv.out","w",stdout);
    char a,b,x;
    scanf("%d%d%c",&n,&m,&x);
    for(int i=1;i<=m;i++)
    {
        scanf("%c%c%c%c",&a,&x,&b,&x);
        sp[a-'a'][b-'a']=1;
        sp[b-'a'][a-'a']=1;
    }
    for(int i=0;i<26;i++)
        d[1][i]=1;
    for(int i=2;i<=n;i++)
    {
        for(int j=0;j<26;j++)
            for(int k=0;k<26;k++)
            {
                if(!sp[j][k])
                {
                    d[i][k]+=d[i-1][j];
                    d[i][k]%=mod;
                }
            }
    }
    int sum=0;
    for(int i=0;i<26;i++)
    {
        sum+=d[n][i];
        sum%=mod;
    }
    printf("%d",sum);
    return 0;
}