Cod sursa(job #2410563)

Utilizator CharacterMeCharacter Me CharacterMe Data 20 aprilie 2019 10:39:32
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
#define MOD 104659
//a=97, z=122
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int N, M, Fq[130], Sol[130][1001], i, j, k, Out;
bool Check[130][130];
int main()
{
    fin>>N>>M;
    for(i=1; i<=M; ++i){
        char a, b;
        fin>>a>>b;
        if(Check[a][b]==false){
            Check[a][b]=Check[b][a]=true;
            --Fq[a];
            --Fq[b];
        }
    }
    for(i='a'; i<='z'; ++i) Sol[i][1]=1;
    for(i=2; i<=N; ++i){
        for(j='a'; j<='z'; ++j)
            for(k='a'; k<='z'; ++k) if(Check[j][k]==false) {Sol[j][i]+=Sol[k][i-1]; Sol[j][i]%=MOD;}
    }
    for(i='a'; i<='z'; ++i) {Out+=Sol[i][N]; Out%=MOD;}
    fout<<Out;
    return 0;
}