Cod sursa(job #2178249)

Utilizator popmari26Pop Mariana popmari26 Data 19 martie 2018 12:00:21
Problema Lista lui Andrei Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <iostream>
#include <fstream>
#define MOD 104659
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
long long int cuv;
int n,m,sp[27][27];
bool perechi[27][27];
void afis(bool mat[][27]){
    for(int i=1;i<=5;i++){
        for(int j=1;j<=5;j++)
                cout<<mat[i][j]<<" ";
    cout<<"\n";
    }
}
int main()
{
    fin>>n>>m;
    for(int i=1;i<=m;i++){
        char x,y;
        fin>>x>>y;
        perechi[x-'a'+1][y-'a'+1]=true;
        perechi[y-'a'+1][x-'a'+1]=true;
    }
    //afis(perechi);
    for(int i=1;i<=26;i++) sp[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(perechi[k][j]==0){
                    sp[i][j]=( sp[i][j] + sp[i-1][k]) % MOD;
                }

            }
     for(int i=1;i<=26;i++){
            cuv =(cuv + sp[n][i]) % MOD;

     }
    fout<<cuv;
    return 0;
}