Cod sursa(job #3281984)

Utilizator mateistefan11matei stefan mateistefan11 Data 4 martie 2025 11:43:22
Problema Lista lui Andrei Scor 35
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int v[27][27],n,m;
int dp[1005][27];
/**
0 1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 1 1 1 1
2
*/
int main()
{
    int i,j, k;
    char a,b;
    fin >> n >> m;
    while(m--)
    {
        fin >> a >> b;
        v[a - 'a' + 1][b - 'a' + 1] = v[b - 'a' + 1][a - 'a' + 1] = 1;
    }
    for(i = 1; i <= 26; i++)
        dp[1][i] = 1;
    for(i = 2; i <= n; i++)
        for(j = 1; j <= 26; j++)
        {
            for(k = 1; k <= 26; k++)
                if(!v[j][k] && !v[k][j])
                    dp[i][j] += dp[i - 1][k];
        }
    int s = 0;
    for(i = 1; i <= 26; i++)
        s += dp[n][i];
    fout << s;
    return 0;
}