Cod sursa(job #2848966)

Utilizator MrPuzzleDespa Fabian Stefan MrPuzzle Data 14 februarie 2022 12:32:30
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<fstream>
#include<iostream>
#include<climits>
#include<algorithm>
#include<cstring>
#include<cmath>

#define MOD 104659

using namespace std;

//ifstream f("in.in");
//ofstream g("out.out");

ifstream f("nrcuv.in");
ofstream g("nrcuv.out");

bool a[30][30];
int d[1005][30],n,m,sol=0;
char x,y;

int main()
{
    f>>n>>m;
    for(int i=1;i<=m;i++)
    {
        f>>x>>y;
        a[x-'a'+1][y-'a'+1]=1;
        a[y-'a'+1][x-'a'+1]=1;
    }

    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 k=1;k<=26;k++)
            {
                if(a[j][k]==0)
                {
                    d[i][j]=(d[i][j]+d[i-1][k])%MOD;
                }
            }
        }
    }

    for(int i=1;i<=26;i++)
    {
        sol = (sol+d[n][i])%MOD;
    }
    g<<sol;
    f.close();
    g.close();
    return 0;
}