Cod sursa(job #1720793)

Utilizator denniscrevusDennis Curti denniscrevus Data 23 iunie 2016 15:52:06
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#define MOD 104659
#define DIM 27
#define NMAX 1005

using namespace std;

int n,m,i,rez=0,j,h;
bool check[DIM][DIM];
char x,y;
int d[NMAX][DIM];

int main()
{
    ifstream f("nrcuv.in");
    ofstream g("nrcuv.out");

    f>>n>>m;

    for(i=1;i<=m;i++)
    {
        f>>x>>y;
        check[x-96][y-96]=1;
        check[y-96][x-96]=1;
    }

    // le luam pe toate
        for(j=1;j<=26;j++)
            d[1][j]=1;

    for(i=2;i<=n;i++)
        for(j=1;j<=26;j++)
            for(h=1; h<=26; h++)
                {
                    if(check[j][h]==0 && check[h][j]==0)
                    {
                        d[i][j] = (d[i][j] + d[i-1][h])%MOD;
                    }
                }

    i=n;
    for(j=1;j<=26;j++)
        rez=(rez+d[i][j])%MOD;

    g<<rez%MOD;



}