Cod sursa(job #2350888)

Utilizator Iorgus08Iorgus Serghei Cicala Iorgus08 Data 21 februarie 2019 19:35:30
Problema Lista lui Andrei Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("nrcuv.in");
ofstream out("nrcuv.out");

const int modulo=104659;
const int maxN=1e3+5;
const int N=30;

int d[maxN][N];
int g[N][N];
int n,m,nr=0;
int i,j,k;

int main()
{
    in>>n>>m;
    for(i=1; i<=m; i++)
    {
        char l1,l2;
        in>>l1>>l2;
        g[l1-'a'][l2-'a']++;
        g[l2-'a'][l1-'a']++;
    }
    for(i=0;i<26;i++)
    {
        d[0][i]=1;
    }
    for(k=1;k<n;k++)
    {
        for(i=0;i<26;i++)
        {
            for(j=0;j<26;j++)
            {
                if(g[i][j]==0)
                {
                    d[k][i]=(d[k][i]+d[k-1][j-1])%modulo;
                }
            }
        }
    }
    for(i=0;i<26;i++)
        nr=(nr+d[n-1][i])%modulo;
    out<<nr;
    return 0;
}