Cod sursa(job #3288179)

Utilizator ax_dogaruDogaru Alexandru ax_dogaru Data 20 martie 2025 19:40:50
Problema Lista lui Andrei Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, m, v[30][30], dp[1005][30], MOD=104659, sol=0;
char a, b;

void setdp() {
    for(int i=0; i<26; i++) {
        dp[1][i]=1;
    }
}

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