Cod sursa(job #1543566)

Utilizator VictoriaNevTascau Victoria VictoriaNev Data 6 decembrie 2015 11:15:54
Problema Lista lui Andrei Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;
const int MOD=104659;
int dp[27][27], mat[27][27], n, m, i, j, ans, q;
char c1, c2;
int main()
{
    ifstream cin("nrcuv.in");
    ofstream cout("nrcuv.out");
    cin>>n>>m;
    for(i=1; i<=m; i++)
    {
        cin>>c1>>c2;
        mat[c1-'a'][c2-'a']=1;
        mat[c2-'a'][c1-'a']=1;
    }
    for(i=0; i<=26; i++)
        dp[i][0]=1;
    for(i=1; i<n; i++)
        for(j=0; j<26; j++)
            for(q=0; q<26; q++)
                if(!mat[j][q])
                {
                    dp[q][i]+=dp[j][i-1];
                    dp[q][i]%=MOD;
                }
    for(i=0; i<26; i++)
        ans=(ans+dp[i][n-1])%MOD;
    cout<<ans%MOD<<'\n';
    return 0;
}