Cod sursa(job #1294484)

Utilizator Miruna_DMiruna Miruna_D Data 17 decembrie 2014 17:28:34
Problema Lista lui Andrei Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include<fstream>
#define litera 26
#define MOD 104659
#define NMAX 1001
using namespace std;

fstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int viz[26][26],DP[NMAX][26];
int m,n;
char L1,L2;
int main()
{
int i,j,k;
    fin>>n>>m;

    for(i=1;i<=m;i++)
    {
       fin>>L1>>L2;
        viz[L1-'a'][L2-'a']=1;
        viz[L2-'a'][L1-'a']=1;
    }

    for(i=0;i<litera;i++)
        DP[1][i]=1;

      for(i=2;i<=n;i++)
          for(j=0;j<litera;j++)
                for(k=0;k<litera;k++)
                if(viz[k][j]==0)
                {

                    DP[i][j]+=DP[i-1][k];
;                    DP[i][j]%=MOD;
                }


    int sol=0;

    for(i=0;i<litera;i++)
    {
        sol+=DP[n][i];
       sol%=MOD;

    }

    fout<<sol%MOD;

    return 0;

}