Cod sursa(job #314052)

Utilizator warchildmdMihail Burduja warchildmd Data 10 mai 2009 14:39:25
Problema Lista lui Andrei Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<stdio.h>

long long int L[1001][128], Sum[1001];
int a[128][128], N,M;

int main()
{
    freopen("nrcuv.in","r",stdin);
    freopen("nrcuv.out","w",stdout);
    scanf("%d %d\n",&N,&M);
    int i;
    for(i=1;i<=M;i++)
    {
        char x,y;
        scanf("%c %c\n",&x,&y);
        a[x][y]=1;
        a[y][x]=1;
        //printf("a[%c][%c]=%d\n",x,y,a[x][y]);
    }
    int j,k;
    for(i='a';i<='z';i++)
    {
        L[1][i]=1;
        Sum[1]=27;
    }
    for(i=2;i<=N;i++)
    for(j='a';j<='z';j++)
    {
        for(k='a';k<='z';k++)
        {
            if(a[j][k]==0)
            {
                L[i][j]+=L[i-1][k];
                //printf("L[%d][%d]=%d\n",i,j,L[i][j]);
                L[i][j]%=104659;
            }
        }
        Sum[i]+=L[i][j];
        Sum[i]%=104659;
    }
    printf("%lld",Sum[N]);
    return 0;
}