Cod sursa(job #3145043)

Utilizator Mihai_OctMihai Octavian Mihai_Oct Data 12 august 2023 12:39:22
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <bits/stdc++.h>
#define mod 104659

using namespace std;

ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n, m, i, r, a[2][29];
bool e[29][29];
char c1, c2;

int main() {
    fin >> n >> m;
    for(i = 1; i <= m; i++) {
        fin >> c1 >> c2;
        e[c1 - 'a'][c2 - 'a'] = e[c2 - 'a'][c1 - 'a'] = true;
    }
    for(i = 0; i < 26; i++) a[0][i] = 1;

    for(i = 2; i <= n; i++) {
        for(int j = 0; j < 26; j++) {
            a[1][j] = 0;
            for(int k = 0; k < 26; k++) {
                if(!e[j][k]) {
                    /*a[1][j] += a[0][k];
                    a[1][j] %= mod;*/
                    (a[1][j] += a[0][k]) %= mod;
                }
            }
        }
        swap(a[0], a[1]);
    }
    for(i = 0; i < 26; i++) {
        /*r += a[0][i];
        r %= mod;*/
        (r += a[0][i]) %= mod;
    }
    fout << r;

    return 0;
}