Cod sursa(job #1670318)

Utilizator CodrutLemeniCodrut Lemeni CodrutLemeni Data 31 martie 2016 17:33:28
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#define LIT 30
#define N 1010
#define nrl 26
#define MOD 104659

using namespace std;

int per[LIT][LIT];
int memo[N][26];

int main(){
   char c,l1,l2;
   int n,m;
   int i,j,k,s=0;

   freopen("nrcuv.in","r",stdin);
   freopen("nrcuv.out","w",stdout);

   scanf("%d%d",&n,&m);
   scanf("%c",&c);
   for(i=0;i<m;i++){
      scanf("%c%c%c%c",&l1,&c,&l2,&c);
      per[l1-'a'][l2-'a']=per[l2-'a'][l1-'a']=1;
   }


   for(i=0;i<nrl;i++){
      memo[0][i]=1;
   }
   for(i=1;i<n;i++){
      for(j=0;j<nrl;j++){
         for(k=0;k<nrl;k++){
            if(per[j][k]==0){
               memo[i][j]+=memo[i-1][k];
               memo[i][j]%=MOD;
            }
         }
      }
   }

   for(i=0;i<nrl;i++){
      s+=memo[n-1][i];
      s%=MOD;
   }
   printf("%d",s);

    return 0;
}