Cod sursa(job #2676215)

Utilizator darius2k2Floroiu Darius Eduard darius2k2 Data 23 noiembrie 2020 18:28:41
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

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

int mat[1001][26];

bool a[26][26];

int main()
{
    int n,m,s=0;
    char ch1,ch2;
    in>>n>>m;
    for(int i=0;i<m;i++){
        in>>ch1>>ch2;
        a[ch1-'a'][ch2-'a']=true;
        a[ch2-'a'][ch1-'a']=true;
    }
    for(int j=0;j<26;j++)
        mat[1][j]=1;
    for(int i=2;i<=n;i++)
        for(int j=0;j<26;j++)
            for(int k=0;k<26;k++)
                if(!a[k][j]){
                    mat[i][j]+=mat[i-1][k];
                    mat[i][j]%=104659;
                }
    for(int j=0;j<26;j++){
        s+=mat[n][j];
        s%=104659;
    }
    out<<s;
    return 0;
}