Cod sursa(job #2394624)

Utilizator sichetpaulSichet Paul sichetpaul Data 1 aprilie 2019 18:59:33
Problema Lista lui Andrei Scor 35
Compilator cpp-64 Status done
Runda pre003 Marime 0.59 kb
#include <fstream>
#define DIM 1005
using namespace std;
bool ok[30][30];long long dp[DIM][30];
int main()
{   int n,m,i,j,k;char l1,l2;long long sol=0;
    ifstream f("nrcuv.in");
    ofstream g("nrcuv.out");
    f>>n>>m;
    for (i=1;i<=m;++i) {
        f>>l1>>l2;
        ok[l1-'a'][l2-'a']=1;
        ok[l2-'a'][l1-'a']=1;
    }

    for (i=0;i<26;++i)
        dp[1][i]=1;

    for (i=2;i<=n;++i)
    for (j=0;j<26;++j)
    for (k=0;k<26;++k)
       if (!ok[j][k]) dp[i][j]+=dp[i-1][k];

    for (j=0;j<26;++j)
        sol+=dp[n][j];

    g<<sol<<'\n';

    return 0;
}