Cod sursa(job #2396820)

Utilizator mjmilan11Mujdar Milan mjmilan11 Data 3 aprilie 2019 20:51:08
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 1005;
const int MOD = 104659;
int dp[NMAX][30];
bool ver[30][30];

int main()
{
    for(int i=1;i<=26;i++)
        dp[1][i]=1;
    int n,m;
    fin >> n >> m;
    char a,b;
    for(int i=1;i<=m;i++)
    {
        fin >> a >> b;
        ver[a-'a'+1][b-'a'+1]=1;
        ver[b-'a'+1][a-'a'+1]=1;
    }
    for(int i=2;i<=n;i++)
    {
        for(int j=1;j<=26;j++)
        {
            for(int t=1;t<=26;t++)
            {
                if(ver[j][t]==1) continue;
                dp[i][j]=(dp[i][j]+dp[i-1][t])%MOD;
            }
        }
    }
    int rasp=0;
    for(int i=1;i<=26;i++)
    {
        rasp+=dp[n][i];
        rasp%=MOD;
    }
    fout << rasp;
    return 0;
}