Cod sursa(job #3165580)

Utilizator Robert_MitriRobert Mitri Robert_Mitri Data 6 noiembrie 2023 16:14:19
Problema Lista lui Andrei Scor 45
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#define sz 1000
#define aphsize 26
#define mod 104659
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");

int n,m;

int d[sz + 5][aphsize + 1];
bool r[aphsize + 1][aphsize + 1];

int main()
{
    fin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        char x,y;
        fin>>x>>y;
        r[x-'a'][y-'a']=1;
        r[y-'a'][x-'a']=1;
    }
    for(int i='a';i<='z';i++)
        d[1][i-'a']=1;
    for(int i=1;i<n;i++)
        for(int j = 'a';j<='z';j++)
            for(int x='a';x<='z';x++)
        {
            if(!r[j-'a'][x-'a'])
                d[i+1][x-'a'] = (d[i+1][x-'a'] + d[i][j-'a'])%mod;
        }
    int sol = 0;
    for(int i='a';i<='z';i++)
        sol+=d[n][i-'a'];
    fout<<sol;
}