Cod sursa(job #2670583)

Utilizator AlexNic_Nicula Dan Alexandru AlexNic_ Data 10 noiembrie 2020 11:45:28
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <cstdio>
#define CONST 104659

using namespace std;



int nr[1001][27];
bool compatible[27][27];

int main()
{
    freopen("nrcuv.in","r",stdin);
    freopen("nrcuv.out","w",stdout);
    int n , p , s=0 , k , j , i;
    char c1,c2;
    cin>>n>>p;
    for(i=1;i<=p;i++){
        cin>>c1>>c2;
        compatible[c1-'a'+1][c2-'a'+1]=1;
        compatible[c2-'a'+1][c1-'a'+1]=1;
    }
    for(j=1;j<=26;j++){
        nr[1][j]=1;
    }
    for(i=2;i<=n;i++){
        for(j=1;j<=26;j++){
            for(k=1;k<=26;k++){
                if(compatible[j][k]==0){
                    nr[i][j]+=nr[i-1][k];
                    nr[i][j]%=CONST;
                }
            }
        }
    }
    for(j=1;j<=26;j++){
        s+=nr[n][j];
        s%=CONST;
    }

    cout << s;
    return 0;
}