Cod sursa(job #1014495)

Utilizator lolmanDomuta Dariu lolman Data 22 octombrie 2013 19:45:28
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
#define mod 104659
using namespace std;
long long prieten[2002][2002],dp[1002][150],j,m,n,s;
char s1,s2,l,lc,la,i;
int main()
{
    ifstream f("nrcuv.in");
    ofstream g("nrcuv.out");
    f>>n>>m;
    for (j=1;j<=m;j++)
          {
              f>>s1>>s2;
              prieten[s1][s2]=1;
              prieten[s2][s1]=1;
          }
    for(i='a';i<='z';i++)
           dp[1][i]=1;
    for (j=2;j<=n;j++)
          {
              for(lc='a';lc<='z';lc++)
                    for(la='a';la<='z';la++)
                         if(prieten[lc][la]==0)
                             dp[j][lc]=(dp[j][lc]+dp[j-1][la])% mod;
          }
    for (l='a';l<='z';l++)
          s=s+dp[n][l];
    if(n==1) s=26-m;
    g<<s%mod;
    return 0;
}