Cod sursa(job #2532232)

Utilizator mmocanuMocanu Mihai-Adrian mmocanu Data 27 ianuarie 2020 16:29:56
Problema Lista lui Andrei Scor 0
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <stdlib.h>
#define MOD 104659

int m2[26][26];
int v[1001][26];

int main(){
  int n,m,i,j,j2;
  unsigned long long s=0;
  char a,b;
  FILE *fin,*fout;
  fin=fopen("nrcuv.in","r");
  fout=fopen("nrcuv.out","r");
  fscanf(fin,"%d%d ",&n,&m);

  for(i=0;i<m;i++){
    a=fgetc(fin);
    fgetc(fin);
    b=fgetc(fin);
    fgetc(fin);
    m2[a-'a'][b-'a']=1;
    m2[b-'a'][a-'a']=1;
  }

  for(i=0;i<26;i++){
    v[0][i]=1;
  }
  for(i=2;i<=n;i++){
    for(j=0;j<26;j++){
      for(j2=0;j2<26;j2++){
        if(m2[j][j2]==0){
          v[i][j2]+=v[i-1][j2];
        }
      }
      v[i][j]%=MOD;
    }
  }

  s=0;
  for(i=0;i<26;i++){
    s+=v[n][i];
    s%=MOD;
  }

  fprintf(fout,"%lld",s);

  fclose(fin);
  fclose(fout);
  return 0;
}