Cod sursa(job #2087959)

Utilizator ivan.tudorIvan Tudor ivan.tudor Data 14 decembrie 2017 16:33:08
Problema Lista lui Andrei Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <iostream>
#include<cstdio>
using namespace std;
bool comp[26][26];
long long d[1001][26];
const int Mihai_Indreias_O_Are_Sculata_Cand_Se_Uita_La_Poze_Cu_Baieti=104659;
int recurs(int i,int c){
  int j;
  if(i==1)
    return 1;
  if(d[i][c])
    return d[i][c];
  long long s=0%Mihai_Indreias_O_Are_Sculata_Cand_Se_Uita_La_Poze_Cu_Baieti;
  for(j=0;j<26;j++){
    if(comp[c][j]==false){
      s+=(recurs(i-1,j)%Mihai_Indreias_O_Are_Sculata_Cand_Se_Uita_La_Poze_Cu_Baieti);
    }
  }
  d[i][c]=s%Mihai_Indreias_O_Are_Sculata_Cand_Se_Uita_La_Poze_Cu_Baieti;
  return s%Mihai_Indreias_O_Are_Sculata_Cand_Se_Uita_La_Poze_Cu_Baieti;
}
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;
}