Cod sursa(job #1497458)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 6 octombrie 2015 20:49:04
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#define MOD 104659
using namespace std;
ifstream fin ("nrcuv.in");
ofstream fout("nrcuv.out");
int A[26][26],D[26][1003];
char c1, c2;
int n, m, i, j, k, s;
int main() {
    ifstream fin ("nrcuv.in");
    ofstream fout("nrcuv.out");
    fin>>n>>m;
    for (i=1;i<=m;i++) {
        fin>>c1>>c2;
        A[c1-'a'][c2-'a'] = 1;
        A[c2-'a'][c1-'a'] = 1;
    }
    for (i=0;i<26;i++)
        D[i][1] = 1;
    for (i=2;i<=n;i++) {
        for (j=0;j<=25;j++) {
            for (k=0;k<=25;k++)
                if (A[k][j] == 0) {
                    D[j][i] += D[k][i-1];
                    D[j][i] %= MOD;
                }
        }
    }
    for (i=0;i<26;i++) {
        s += D[i][n];
        s %= MOD;
    }
    fout<<s;
    return 0;
}