Cod sursa(job #1803744)

Utilizator RazvanatorHilea Razvan Razvanator Data 11 noiembrie 2016 19:19:40
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <iostream>
#define MOD 104659

using namespace std;

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

int n,m,s;
bool mat[27][27];
int mt[1005][27];

int main()
{
    fin>>n>>m;
    char x,y;
    for (int i=0;i<m;i++) {
            fin>>x>>y;
            mat[x-'a'+1][y-'a'+1]=mat[y-'a'+1][x-'a'+1]=true;
    }
    for (int i=1;i<=26;i++) {
        mt[1][i]=1;
    }
    for (int i=2;i<=n;i++) {
        for (int j=1;j<=26;j++) {
            for (int k=1;k<=26;k++) {
                if (!mat[j][k]) {
                    mt[i][j]=(mt[i][j]+mt[i-1][k])%MOD;
                }
            }
        }
    }
    for (int i=1;i<=26;i++) {
        s=(s+mt[n][i])%MOD;
    }
    fout<<s;
}