Cod sursa(job #921498)

Utilizator PGSBRobert Nistor PGSB Data 21 martie 2013 00:52:32
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<stdio.h>

#define MOD 104659

char is[260][260];
int din[1010][50];
int N,M;
char x,y;
int rez;
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d%d\n",&N,&M);
    for(int i=1;i<=M;++i)
    {
    scanf("%c %c\n",&x,&y);
    is[x-'a'][y-'a']=1;
    is[y-'a'][x-'a']=1;
    }
    for(int i=0;i<=25;++i)
        din[1][i]=1;
    for(int i=2;i<=N;++i)
    {
        for(int j=0;j<=25;++j)
        {
            for(int k=0;k<=25;++k)
            {
            if(is[j][k]==0)
                {
                din[i][j]+=din[i-1][k];
                din[i][j]%=MOD;
                }
            }
        }
    }
    for(int i=0;i<=25;++i)
    {
        rez += din[N][i];
        rez %= MOD;
    }
    printf("%d",rez);

return 0;
}