Cod sursa(job #1315997)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 13 ianuarie 2015 13:49:51
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
int m[26][26],d[1001][26];
int main()
{
    freopen ("nrcuv.in","r",stdin);
    freopen ("nrcuv.out","w",stdout);
    int n,a,s=0;
    char x,y;
    scanf("%d%d",&n,&a);
    scanf("%c",&x);
    for(int i=1;i<=a;i++)
    {
        scanf("%c%c%c",&x,&y,&y);
        m[x-'a'][y-'a']=1;
        m[y-'a'][x-'a']=1;
        scanf("%c",&x);
    }
    for(int i=0;i<=25;i++)
        d[1][i]=1;
    for(int i=1;i<=n-1;i++)
    {
        for(int j=0;j<26;j++)
        {
            for(int k=0;k<26;k++)
            {
                if(m[j][k]==0)
                    d[i+1][k]=(d[i+1][k]+d[i][j])%104659;
            }
        }
    }
    for(int k=0;k<26;k++)
        s=(s+d[n][k])%104659;
    printf("%d",s);
    return 0;
}