Cod sursa(job #1768783)

Utilizator edi_laitinLaitin Eduard edi_laitin Data 1 octombrie 2016 14:07:43
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");

int i,dp[1005][27],n,m,f[27][27],S;
int main()
{
    char x,y;
   fin>>n>>m;
  for(i=1;i<=m;i++)
  {
      fin>>x>>y;
      f[x-96][y-96]=1;
      f[y-96][x-96]=1;
  }
  for(i=1;i<=26;i++)
     dp[1][i]=1;
  for(i=2;i<=n;i++)
  {
      for(int j=1;j<=26;j++)
      {
          for(int t=1;t<=26;t++)
          {
              dp[i][j]=(dp[i][j]*(t>1)+(dp[i-1][t])*(!f[t][j]))%104659;
          }
      }
  }
  for(i=1;i<=26;i++)
    S=(S+dp[n][i])%104659;
  fout<<S;
    return 0;
}