Cod sursa(job #2087955)

Utilizator ivan.tudorIvan Tudor ivan.tudor Data 14 decembrie 2017 16:30:10
Problema Lista lui Andrei Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include<cstdio>
using namespace std;
bool comp[26][26];
int d[1001][26];
const int MOD=104659;
int recurs(int i,int c){
  int j;
  if(i==1)
    return 1;
  if(d[i][c])
    return d[i][c];
  int s=0%104659;
  for(j=0;j<26;j++){
    if(comp[c][j]==false){
      s+=(recurs(i-1,j)%104659);
    }
  }
  d[i][c]=s%104659;
  return s%104659;
}
int main()
{
    int i,n,m;
    char c1,c2;
    FILE*fin,*fout;
    fin=fopen("nrcuv.in","r");
    fout=fopen("nrcuv.out","w");
    fscanf(fin,"%d%d ",&n,&m);
    for(i=1;i<=m;i++){
      fscanf(fin,"%c %c ",&c1,&c2);
      comp[c1-'a'][c2-'a']=comp[c2-'a'][c1-'a']=true;
    }
    int s;
    for(i=0;i<26;i++){
      s+=recurs(n,i);
    }
    fprintf(fout,"%d",s);
    return 0;
}