Cod sursa(job #2845614)

Utilizator ValiAntonieAntonie Valentin ValiAntonie Data 8 februarie 2022 00:37:13
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <bits/stdc++.h>
#define mod 104659
using namespace std;

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

int n,m,a[35][35],nr[35],i,j,j2;
long long dp[1005][35],total,suma;
char x,y;

int main()
{
//mod
fin>>n>>m;
for(i=1;i<=m;i++){
    fin>>x>>y;
    if(!a[x-96][y-96]){
    a[x-96][y-96] = 1;
    nr[x-96]++;
    }
    if(!a[y-96][x-96]){
    a[y-96][x-96] = 1;
    nr[y-96]++;
    }
}
for(j=1;j<=26;j++){
    dp[1][j] = 1;
}
suma = 26;
for(i=2;i<=n;i++){
    suma = 0;
    for(j=1;j<=26;j++){
        total = 0;
        for(j2=1;j2<=26;j2++){
            if(!a[j][j2]){
                total += dp[i-1][j2];
                if(total > mod)
                    total = total % mod;
            }
        }
        dp[i][j] = total;
        if(i == n){
            suma += total;
            if(suma > mod)
                suma = suma % mod;
        }
    }
}
fout << suma;
    return 0;
}