Cod sursa(job #2209824)

Utilizator radugheoRadu Mihai Gheorghe radugheo Data 4 iunie 2018 20:23:45
Problema Lista lui Andrei Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>

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

int n, m, i, j, p, a[27][27], d[2005][27];
char c1, c2;
long long s;
int main()
{
    fin >> n >> m;
    for (i=1; i<=m; i++){
        fin >> c1 >> c2;
        a[c1 - 'a'][c2 - 'a'] = 1;
    }
    for (i=1; i<=26; i++){
        d[1][i] = 1;
    }
    for (i=2; i<=n; i++){
        for (j=1; j<=26; j++){
            for (p=1; p<=26; p++){
                if (a[j][p] == 0 && a[p][j] == 0){
                    d[i][j] = (d[i][j] + d[i-1][p])%104659;
                }
            }
        }
    }
    for (i=1; i<=26; i++){
        s = (s + d[n][i])%104659;
    }
    fout << s%104659;
    return 0;
}