Cod sursa(job #3281987)

Utilizator drsbosDarius Scripcaru drsbos Data 4 martie 2025 11:44:22
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int d[206][2006],dp[10005][10005];
int n,m;
char ch1,ch2;
int main()
{
    fin>>n>>m;
    while(m--)
    {
        fin>>ch1>>ch2;
        d[ch1 - 'a' + 1][ch2 - 'a' + 1] = d[ch2 - 'a' + 1][ch1 - 'a' + 1] = 1;
    }
    for(int i=1;i<=26;i++)
        dp[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(d[j][k]==0 && d[k][j]==0)
        {
            dp[i][j]=(dp[i][j]+dp[i-1][k]) % 104659;
        }
    }
    int sum=0;
    for(int i=1;i<=26;i++)
        sum=(sum+dp[n][i])% 104659;
    fout<<sum;


}