Cod sursa(job #1884038)

Utilizator ericutzdevilEric Spataru ericutzdevil Data 18 februarie 2017 13:44:41
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<cstdio>
#include<algorithm>

using namespace std;

int dp[1001][30];
int ma[27][27];

int main()

{

freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);

int n,m,i,lit1,lit2,j,k,aux,s;
char l1,l2;

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

for(i=1;i<=m;i++){
    scanf("%c %c ",&l1,&l2);
    lit1=l1-'a'+1;
    lit2=l2-'a'+1;
    ma[lit1][lit2]=1;
    ma[lit2][lit1]=1;}

for(i=1;i<=26;i++)
    dp[1][i]=1;

for(i=2;i<=n;i++)
    for(j=1;j<=26;j++)
        for(k=1;k<=26;k++)
            if(ma[j][k]==0)
                dp[i][k]+=dp[i-1][j]%104659;
s=0;
for(j=1;j<=26;j++)
    s+=dp[n][j]%104659;

printf("%d",s%104659);

return 0;
}