Cod sursa(job #1754410)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 8 septembrie 2016 09:12:52
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<bits/stdc++.h>
#define MOD 104659
using namespace std;
int n,m,a[30][30],d[1005][30];
char c1,c2;
int main()
{
    freopen("nrcuv.in","r",stdin);
    freopen("nrcuv.out","w",stdout);
    scanf("%d",&n);
    scanf("%d",&m);
    for(int i=1;i<=m;i++)
    {
        scanf("\n");
        scanf("%c",&c1);
        scanf(" ");
        scanf("%c",&c2);
        a[c1-'a'+1][c2-'a'+1]=1;
    }
    for(int i=1;i<=26;i++) d[1][i]=1;
    for(int i=2;i<=n;i++)
    {
        for(int j=1;j<=26;j++)
        {
            for(int k=1;k<=26;k++)
            {
                if (!a[k][j] && !a[j][k])
                {
                    d[i][j]=(d[i][j]+d[i-1][k])%MOD;
                }
            }
        }
    }
    int sum=0;
    for(int i=1;i<=26;i++)
    {
        sum=(sum+d[n][i])%MOD;
    }
    printf("%d\n",sum);
    return 0;

}