Cod sursa(job #3166249)

Utilizator Horia123144Musat Horia Gabriel Horia123144 Data 7 noiembrie 2023 23:42:32
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>
#define mod 104659
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n,m,D[1005][28],sol;
bool ok[28][28];
char c1,c2;
int main()
{
    fin>>n>>m;
    for(int i=1; i<=m; i++)
    {
        fin>>c1>>c2;
        ok[c1-'a'+1][c2-'a'+1]=1;
        ok[c2-'a'+1][c1-'a'+1]=1;
    }
    ///D[i][c] nr de siruri de lungime i terminate in litera c
    for(int i=1; i<=26; i++)
        D[1][i]=1;
    for(int i=2; i<=n; i++)
        for(int j=1; j<=26; j++)
            for(int car=1; car<=26; car++)
                if(ok[j][car]==0)
                {
                    D[i][j]+=D[i-1][car];
                    D[i][j]%=mod;
                }
    for(int i=1; i<=26; i++)
    {
        sol+=D[n][i];
        sol%=mod;
    }
    fout<<sol;
    return 0;
}