Cod sursa(job #1541036)

Utilizator filip.dutescuDutescu Filip Ioan filip.dutescu Data 3 decembrie 2015 17:56:14
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
const int modulo=104659;
int d[1001][2001],n,m;
bool a[26][26];

int main()
{
    in>>n>>m;
    char x,y;
    int tp=0;

    for(int i=1;i<=m;i++){
        in>>x>>ws>>y>>ws;
        a[x-'a'][y-'a']=a[y-'a'][x-'a']=true;
    }

    for(int i=0;i<=25;i++)
        d[1][i]=1;

    for(int i=2;i<=n;i++)
        for(int j=0;j<=25;j++)
            for(int k=0;k<=25;k++){
                if(a[k][j]==false){
                    d[i][j]+=d[i-1][k];
                    d[i][j]=d[i][j]%modulo;
                }
            }

    for(int i=0;i<=25;i++){
        tp+=d[n][i];
        tp%=modulo;
    }

    out<<tp;
    return 0;
}