Cod sursa(job #1548113)

Utilizator cip_ionescuCiprian Ionescu cip_ionescu Data 10 decembrie 2015 15:34:07
Problema Lista lui Andrei Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <stdio.h>
#define MOD 104659
FILE *fin, *fout;
int a[26][26], v[1000][26];

int main()
{
    int n, m, i, j, k, s;
    char x, y;
    fin = fopen("nrcuv.in", "r");
    fout = fopen("nrcuv.out", "w");
    fscanf(fin, "%d %d\n", &n, &m);
    for(i = 0 ; i < m ; i++){
        fscanf(fin, "%c %c\n", &x, &y);
        a[x - 'a'][y - 'a'] = 1;
        a[y - 'a'][x - 'a'] = 1;
    }
    for(i = 0 ; i < 26 ; i++) v[1][i] = 1;
    for(i = 2 ; i <= n ; i++){
        for(j = 0 ; j < 26 ; j++) {
            s = 0;
            for(k = 0 ; k < 26 ; k++)
                if(a[k][j] == 0)
                    s = ((s + v[i-1][k]) % MOD);
            v[i][j] = s;
        }
    }
    s = 0;
    for(i = 0 ; i < 26 ; i++)
        s = ((s + v[n][i]) % MOD);
    printf("%d", s);
    return 0;
}