Cod sursa(job #2089718)

Utilizator NToniBoSSNicolae Tonitza NToniBoSS Data 17 decembrie 2017 00:00:21
Problema Lista lui Andrei Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.h>
#include <stdlib.h>
#define MOD 104659
int f[27][27],rez[1001][27];
int main()
{
    int n,m,i,j,k,z;
    char a,b;
    freopen("nrcuv.in","r",stdin);
    freopen("nrcuv.out","w",stdout);
    scanf("%d%d\n",&n,&m);
    for(i=1; i<=m; i++)
    {
        a=getchar();
        getchar();
        b=getchar();
        getchar();
        f[a-'a'+1][b-'a'+1]=f[b-'a'+1][a-'a'+1]=1;
    }
    for(i=1; i<=26; i++)
        rez[1][i]=1;
    for(i=2; i<=n; i++)
        for(j=1; j<=26; j++)
            for(k=1; k<=26; k++)
                rez[i][j]=(rez[i][j]+rez[i-1][k]*(f[j][k]==0))%MOD;
    z=0;
    for(i=1; i<=26; i++)
        z=(z+rez[n][i])%MOD;
    printf("%d\n",z);

    return 0;
}