Cod sursa(job #2398998)

Utilizator Carol_LucaCarol Luca Carol_Luca Data 6 aprilie 2019 17:22:29
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
/// lista lui andrei


#include <cstdio>



using namespace std;

long long int c[30][30];

long long int v[1005][30];

int main()

{

    freopen("nrcuv.in","r",stdin);

    freopen("nrcuv.out","w",stdout);

    int n,m,i,j,k;

    char a,b,ch;

    long long int sum=0;

    scanf("%d%d",&n,&m);

    //scanf("%c",&ch);

    for(i=1; i<=m; i++)

    {

        scanf("%c%c%c%c",&ch,&a,&ch,&b);

        //printf("%c %c\n",a,b);

        c[a-'a'][b-'a']=1;

        c[b-'a'][a-'a']=1;

    }

    for(i=0; i<26; i++)

        v[1][i]=1;

    for(i=1; i<n; i++)

    {

        for(j=0; j<26; j++)

        {

            for(k=0; k<26; k++)

            {

                if(c[j][k]==0)

                {

                 v[i+1][k]=(v[i][j]+v[i+1][k])%104659;

                 //printf("%d %d\n",v[i][j],v[i+1][k]);

                }

            }

        }

    }

    for(i=0; i<26; i++)

        sum=(v[n][i]+sum)%104659;

    printf("%lld",sum);

    return 0;

}