Cod sursa(job #874520)

Utilizator DaNutZ2UuUUBB Bora Dan DaNutZ2UuU Data 8 februarie 2013 18:29:17
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>

#define nrlit 26
#define nmax 1001
#define mod 104659

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

int lst[nrlit][nrlit], n, m, s;

int main ()
{

    int mat[nmax][nrlit], i, j, k;
    char l1, l2;

    fin >> n >> m;

    for (i = 0; i < m; i++)
    {
        fin >> l1 >> l2;
        l1 -= 'a'; l2 -= 'a';
        lst[l1][l2] = 1;
        lst[l2][l1] = 1;
    }

    i = 1;

    for (j = 0; j < nrlit; j++)
        mat[i][j] = 1;

    for ( i = 2; i <= n; i++)
    {
        for (j = 0; j < nrlit; j++)
        {
            s = 0;
            for (k = 0; k < nrlit; k++)
                if (!lst[j][k])
                    s = (s + mat[i-1][k]) % mod;
            mat[i][j] = s;
        }
    }
    s = 0;
    for ( j = 0; j < nrlit; j++)
        s = (s + mat[n][j]) % mod;

    fout << s;

    return 0;
}