Cod sursa(job #2086178)

Utilizator StepHoria Stefan Step Data 11 decembrie 2017 16:43:06
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

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

const int N=2001,M=104659;
bool a[27][27];
int d[N][27];

int main()
{
    int n,m,i,j,k,s=0;
    char x,y;
    f>>n>>m;
    for (i=1; i<=m; i++)
    {
        f>>x;
        f>>y;
        a[x-'a'+1][y-'a'+1]=true;
        a[y-'a'+1][x-'a'+1]=true;
    }
    for (i=1; i<=n; i++)
    {
        for (j=1; j<=26; j++)
        {
            if (i==1)
                d[i][j]=1;
            else
            {
                for (k=1; k<=26; k++)
                    if (!a[k][j])
                    {
                        d[i][j]+=d[i-1][k];
                        d[i][j]%=M;
                    }
            }
        }
    }
    for (i=1; i<=26; i++)
    {
        s+=d[n][i];
        s%=M;
    }
    g<<s;
    return 0;
}