Cod sursa(job #3334394)

Utilizator dragos_poputepopute dragos mihai dragos_popute Data 17 ianuarie 2026 13:22:49
Problema Lista lui Andrei Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
const int mod=104659;
int dp[50][1004];
int nu[50][50];

int main()
{
    int n,m,s;
    fin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        char x,y;
        fin>>x>>y;
        nu[x-'a'][y-'a']=1;
        nu[y-'a'][x-'a']=1;


    }
    for(int i=0;i<='z'-'a';i++)
        dp[i][1]=1;
    for(int i=2;i<=n;i++)
    {
        for(int j=0;j<='z'-'a';j++)
        {
            for(int k=0;k<='z'-'a';k++)
            {
                if(nu[k][j]==0)
                    dp[j][i]=(dp[j][i]+dp[k][i-1])%mod;
            }
        }
    }
    for(int j=0;j<='z'-'a';j++)
        s=(s+dp[j][n])%mod;
    fout<<s;
    return 0;
}