Cod sursa(job #2396116)

Utilizator gavra_bogdanBogdan Gavra gavra_bogdan Data 3 aprilie 2019 11:19:08
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda simulare_03_04_2019 Marime 0.68 kb
#include <fstream>

using namespace std;
const int mod=104659;
long long dp[1005][30],v[30][30];
int main()
{
    ifstream cin("nrcuv.in");
    ofstream cout("nrcuv.out");
    int n,m;
    char a,b;
    cin>>n>>m;
    for(int i=1; i<=m; i++)
    {
        cin>>a>>b;
        v[a-'a'][b-'a']=1;
        v[b-'a'][a-'a']=1;
    }
    for(int i=0; i<26; i++)
        dp[1][i]=1;
    for(int i=1; i<n; i++)
        for(int j=0; j<26; j++)
            for(int z=0; z<26; z++)
                if(v[j][z]==0)
                    dp[i+1][z]=(dp[i][j]+dp[i+1][z])%mod;
    long long s=0;
    for(int i=0;i<26;i++)
        s=(dp[n][i]+s)%mod;
    cout<<s;
    return 0;
}