Cod sursa(job #1654855)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 17 martie 2016 16:00:32
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

#define NMax 1005
#define MOD 104659
using namespace std;

char x,y;
int n,m,ANS;
int a[150][150],d[NMax][150];
int main()
{
    ifstream f("nrcuv.in");
    ofstream g("nrcuv.out");
    f >> n >> m;
    for(int i = 1; i <= m; ++i){
        f >> x >> y;
        a[x][y] = 1;
        a[y][x] = 1;
    }
    for(int i = 'a'; i <= 'z'; ++i){
        d[1][i] = 1;
    }
    for(int i = 2; i <= n; ++i){
        for(int j = 'a'; j <= 'z'; ++j){

            for(int k = 'a'; k <= 'z'; ++ k){
                if(a[j][k] == 0){
                    d[i][j] = (d[i][j] + d[i - 1][k] % MOD) % MOD ;
                }
            }
        }
    }
    for(int i = 'a'; i <= 'z'; ++i){
        ANS = (ANS + d[n][i] % MOD) % MOD;
    }
    g << ANS;
    return 0;
}