Cod sursa(job #1463176)

Utilizator StefansebiStefan Sebastian Stefansebi Data 20 iulie 2015 13:54:13
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int mat[30][30];
int d[1100][30];
int i, n, m, j, k, s;
char a, b;

int main(){
    fin >> n >> m;
    for (i = 1; i <= m; i++){
        fin >> a >> b;
        mat[(int) a - 96][(int) b - 96] = 1;
        mat[(int) b - 96][(int) a - 96] = 1;
    }
    for (i = 1; i <= 26; i++)
        d[1][i] = 1;
    for (i = 2; i <= n; i++)
        for (j = 1; j <= 26; j++){
            for (k = 1; k <= 26; k++){
                if (mat[k][j] == 0)
                    d[i][j] += d[i - 1][k];
                    d[i][j] %= 104659;
            }
        }
    s = 0;
    for (i = 1; i <= 26; i++){
        s += d[n][i];
        s %= 104659;
    }
    fout << s;
}