Cod sursa(job #2683579)

Utilizator maraboneaMara Bonea marabonea Data 11 decembrie 2020 17:09:06
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
/**
https://infoarena.ro/problema/nrcuv
*/
#include <fstream>

using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n,m,dp[1001]['z'-'a'+1],a['z'-'a'+1]['z'-'a'+1],s;
int main()
{
    char x,y;
    fin>>n>>m;
    while(m)
    {
        fin>>x>>y;
        a[x-'a'+1][y-'a'+1]=1;
        a[y-'a'+1][x-'a'+1]=1;
        m--;
    }
    for(int i=1;i<='z'-'a'+1;i++)
    {
        dp[1][i]=1;
    }
    for(int i=2;i<=n;i++)
    {
        for(int j=1;j<='z'-'a'+1;j++)
        {
            for(int k=1;k<='z'-'a'+1;k++)
            {
                if(a[j][k]!=1)
                {
                    dp[i][j]=(dp[i][j]+dp[i-1][k])%104659;
                }
            }
        }
    }
    for(int i=1;i<='z'-'a'+1;i++)
    {
        s=(s+dp[n][i])%104659;
    }
    fout<<s;
   return 0;
}