Cod sursa(job #2668790)

Utilizator metallidethantralayerIon Cojocaru metallidethantralayer Data 5 noiembrie 2020 13:31:23
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;
bitset <150> M[150];
int d[1005][150];
int main()
{
    ifstream f("nrcuv.in");
    ofstream g("nrcuv.out");
    int n,m;
    f>>n>>m;
    while(m--)
    {
        char x,y;
        f>>x>>y;
        M[x][y]=M[y][x]=true;
    }
    for(int i='a';i<='z';i++)
        d[0][i]=1;
    for(int i=1;i<n;i++)
        for(int j='a';j<='z';j++)
            for(int k='a';k<='z';k++)
            if(!M[j][k]&&!M[k][j])
            d[i][j]=(d[i][j]+d[i-1][k])%104659;
    int64_t p=0;
    for(int i='a';i<='z';i++)
        p=(p+d[n-1][i])%104659;
    g<<p;

    return 0;
}