Cod sursa(job #1258915)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 9 noiembrie 2014 15:57:05
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<fstream>
#include<iostream>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
const int NMAX = 10005;
const int MOD = 104659;

int v[NMAX][30],n,m,ok[30][30];

void read()
{

    char a,b;
    in>>n>>m;
    for(int i = 1 ; i <= m ; i++){
        in>>a>>b;
        ok[a-96][b-96] = 1;
        ok[b-96][a-96] = 1;
    }
    in.close();
}

void solve()
{

    for(int i = 1 ; i <= 26 ; i++)
        v[1][i] = 1;
    for(int i = 2 ; i <= n ; i++)
        for(int j = 1 ; j <= 26 ; j++)
            for(int k = 1 ; k <= 26 ; k++)
                if(!ok[k][j])
                    v[i][j] = (v[i][j] + v[i-1][k])%MOD;
    int sum = 0;
    for(int i = 1 ; i <= 26 ; i++)
        sum = (sum + v[n][i])%MOD;
    out<<sum;
    out.close();
}

int main()
{

    read();
    solve();
    return 0;
}