Cod sursa(job #2497198)

Utilizator robert.barbu27robert barbu robert.barbu27 Data 22 noiembrie 2019 11:01:40
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb

#include <bits/stdc++.h>
#define mod 104659
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");

int dp[1005][26],n,m;
bool restr[26][26];
int dp2[1005];





int main()
{
f>>n>>m;
for(int i=1;i<=m;i++)
{
char a,b;
f>>a>>b;
restr[a-'a'][b-'a']=restr[b-'a'][a-'a']=1;

}

    for(int j=0;j<26;j++)
    dp[1][j]=1;
for(int i=2;i<=n;i++)
{
    for(int j=0;j<26;j++)
    {
        for(int d=0;d<26;d++)
    {
        if(restr[j][d]!=1&&restr[d][j]!=1)
        {
            dp[i][j]=(dp[i][j]+dp[i-1][d])%mod;
        }
    }

    }
}
int sol=0;
for(int j=0;j<26;j++)
{
    sol+=dp[n][j];
    sol=sol%mod;
}
g<<sol;
}