Cod sursa(job #2498353)

Utilizator stefan1anubystefan popa stefan1anuby Data 23 noiembrie 2019 20:23:59
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <string>
#include <unordered_map>
using namespace std;
ifstream cin("nrcuv.in");
ofstream cout("nrcuv.out");
unordered_map < string, bool > M;
#define mod 104659
int dp[1005][30],a[30][30];
int main()
{
    int n,k,i,s,j,h;
    char x,y;
    cin>>n>>k;
    for(i=1; i<=k; i++)
    {
        cin>>x>>y;
        a[x-'a'+1][y-'a'+1]=1;
        a[y-'a'+1][x-'a'+1]=1;
    }
    for(i=1; i<=26; i++)
        dp[1][i]=1;
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=26; j++)
            for(h=1; h<=26; h++)
            {
                if(a[h][j]==0)
                {
                    dp[i][j]=(dp[i][j]+dp[i-1][h])%mod;
                }
            }
    }
    s=0;
    for(i=1; i<=26; i++)
        s=(s+dp[n][i])%mod;
    cout<<s;
    return 0;
}