Cod sursa(job #1527002)

Utilizator tqmiSzasz Tamas tqmi Data 17 noiembrie 2015 19:22:14
Problema Lista lui Andrei Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int lit[30][30];
int dp[1005][30];
int sol,n,m,i,j,k;
char a,b;
int main()
{
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>a>>b;
        lit[a-'a'][b-'a']=1;
        lit[b-'a'][a-'a']=1;
    }
    for(i=0;i<26;i++)
        dp[i][1]=1;
    for(i = 2; i <= n; i++)
        for(j = 0; j < 26; j++)
            for(k = 0; k < 26; k++)
                if(!lit[j][k] && !lit[k][j])
                    dp[j][i] = (dp[j][i] + dp[k][i-1]) % 104659;
    for(i=0;i<26;i++)
        sol=(sol+dp[i][n])%104659;
    fout<<sol<<"\n";
}