Cod sursa(job #2343397)

Utilizator razvanradulescuRadulescu Razvan razvanradulescu Data 13 februarie 2019 22:46:45
Problema Lista lui Andrei Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <iostream>
#include <cstdio>
#define MOD 104659
using namespace std;

int dp[1005][30];
int n, m;
int doua[30][30];
char c1, c2;

void rez()
{
    scanf("%d %d\n", &n, &m);
    for(int i= 0; i<m; i++)
    {
        scanf("%c %c\n", &c1, &c2);
        doua[c1-'a'][c2-'a']++;
        doua[c2-'a'][c1-'a']++;
    }
    for(int j = 0; j<26; j++)
    {
        dp[0][j] = 1;
    }
    for(int k = 1; k<=n; k++)
    {
        for(int i = 0; i<26; i++)
        {
            for(int j = 0; j<26; j++)
            {
                if(doua[i][j]==0)
                {
                    dp[k][i] = (dp[k][i]+dp[k-1][j])%MOD;
                }
            }
        }
    }
    int maxim = 0;
    for(int j = 0; j<26; j++)
    {
        maxim = max(maxim, dp[n][j]);
    }
    printf("%d", maxim);
}

int main()
{
    freopen("nrcuv.in", "r", stdin);
    freopen("nrcuv.out", "w", stdout);
    rez();
    return 0;
}