Cod sursa(job #2681383)

Utilizator gulinGulin Tudor gulin Data 5 decembrie 2020 12:30:32
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
#define MOD 104659

using namespace std;

ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");

int n, dp[1001]['z'+1], m, mat['z'+1]['z'+1], sum;
char a, b;


int main()
{
    fin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        fin>>a>>b;
        mat[a][b]=1;
        mat[b][a]=1;
    }
    for(int i='a';i<='z';i++)
    {
        dp[1][i]=1;
    }
    for(int i=2; i<=n;i++)
    {
        for(int j='a';j<='z';j++)
        {
            for(int k='a';k<='z';k++)
            {
                if(mat[j][k]!=1) dp[i][j]=(dp[i][j]+dp[i-1][k])%MOD;
            }
        }
    }
    for(int j='a';j<='z';j++)
    {
        sum=(sum+dp[n][j])%MOD;
    }
    fout<<sum;
    return 0;
}