Cod sursa(job #2209825)

Utilizator YetoAdrian Tonica Yeto Data 4 iunie 2018 20:25:13
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;
int n, m, i, j, k, s;
char l1, l2;
int a[28][28], D[2100][28];

int main () {
    ifstream fin ("nrcuv.in");
    ofstream fout ("nrcuv.out");
    fin>>n>>m;
    for (i=1;i<=m;i++) {
        fin>>l1>>l2;
        a[l1-'a'][l2-'a']=1;
    }

    for (i=0;i<=25;i++) {
        D[1][i]=1;
    }

    for (i=2;i<=n;i++) {
        for (j=0;j<=25;j++)
            for (k=0;k<=25;k++)
                if (a[k][j]==0 && a[j][k]==0)
                    D[i][j] = (D[i-1][k] + D[i][j]) % 104659;
    }

    for (i=0;i<=25;i++) {
        s = (s+D[n][i])%104659;
    }

    fout<<s%104659;
    return 0;
}