Cod sursa(job #2667082)

Utilizator dobreraduDobre Radu Fabian dobreradu Data 2 noiembrie 2020 20:22:03
Problema Lista lui Andrei Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <stdio.h>
#define MODUL 104659
int v[27][27],dp[1001][27];

int main()
{   FILE *fin,*fout;
    char x, y;
    int m,n,i,j,k,suma=0;
    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\n",&x,&y);
      v[x-'a'+1][y-'a'+1]=1;
      v[y-'a'+1][x-'a'+1]=1;
    }
    for(i=1;i<=26;i++)
      dp[1][i]=1;
    for(i=2; i<=n; i++) {
      for(j=1; j<=26; j++)
        for(k=1; k<=26; k++)
          if( !v[j][k]) {
            dp[i][j]+= dp[i-1][k];
            dp[i][j]= dp[i][j]%MODUL;
          }
    }
    for(i=1; i<=26; i++) {
      suma+=dp[n][i];
      suma%=MODUL;
    }
    fprintf(fout,"%d",suma);
    fclose(fin);
    fclose(fout);
    return 0;
}