Cod sursa(job #1885670)

Utilizator Alex.PAlexandru Pacurar Alex.P Data 20 februarie 2017 10:54:46
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <stdio.h>
#include <stdlib.h>
#define mod 104659

using namespace std;

int d[1001][26];
int x[26][26];

int main()
{
    FILE *fin, *fout;
    fin=fopen("nrcuv.in","r");
    fout=fopen("nrcuv.out","w");
    int n,k,i,j,s;
    char c1,c2;
    fscanf(fin,"%d%d",&n,&k);
    fgetc(fin);
    for(i=0;i<k;i++){
      c1=fgetc(fin);
      fgetc(fin);
      c2=fgetc(fin);
      fgetc(fin);
      c1=c1-'a';
      c2=c2-'a';
      x[c1][c2]=x[c2][c1]=1;
    }
    i=1;
    for(j=0;j<26;j++){
      d[1][j]=1;
    }
    for(k=2;k<=n;k++){
      for(i=0;i<26;i++){
        for(j=0;j<26;j++){
          if(x[i][j]==0){
            d[k][i]=(d[k][i]+d[k-1][j])%mod;
          }
        }
      }
    }
    s=0;
    for(i=0;i<26;i++){
      s=(s+d[n][i])%mod;
    }
    fprintf(fout,"%d",s);
    fclose(fin);
    fclose(fout);
    return 0;
}