Cod sursa(job #2209937)

Utilizator canmihaiCancescu Mihai canmihai Data 5 iunie 2018 06:16:57
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
long long n,k,a[26][26],d[2010][26],sum;
char c1,c2;
using namespace std;
int main () {
    ifstream fin("nrcuv.in");
    ofstream fout("nrcuv.out");
    fin>>n>>k;
    for(int i=0;i<k;i++){
        fin>>c1>>c2;
        a[c1-'a'][c2-'a']=1;
    }
    for(int i=0;i<=25;i++)
        d[1][i]=1;
    for(int i=2;i<=n;i++){
            //cout<<i<<" ";
        for(int j=0;j<=25;j++){
          //  cout<<j;
            for(int t=0;t<=25;t++){
               //     cout<<t<<" "<<j<<endl;
                if(a[j][t]==0 && a[t][j]==0)
                    d[i][j]=(d[i][j]+d[i-1][t])%104659;
            }
        }
    }
    for(int i=0;i<=25;i++)
        sum=(sum+d[n][i])%104659;

    fout<<sum%104659;





    return 0;
}