Cod sursa(job #2756845)

Utilizator BuzatuCalinBuzatu Calin BuzatuCalin Data 3 iunie 2021 11:46:42
Problema Lista lui Andrei Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <iostream>
#include <fstream>
using namespace std;
#define DIM 1001
int matrice[DIM][DIM],util[DIM][DIM],n,per,modul=104659,n2=1;
int caz(int i,int j)
{
    for(int k=1;k<=n-2;k++)
    {
        matrice[i][j]*=24;
        matrice[i][j]%=modul;
    }
}
void af()
{
    for(int i=0;i<n;i++)
    {
        n2*=24;
        //n2%=modul;
    }
}
void formare()
{
    for(char i='a';i<='z';i++)
    {
        for(char j='a';j<='z';j++)
        {
            if(i!=j)
            {
                matrice[i][j]=2*n-2;
                caz(i,j);
            }
            else
            {
                matrice[i][j]=n-1;
                caz(i,j);
            }
        }
    }
}
int main()
{
    ifstream fin("nrcuv.in");
    ofstream fout("nrcuv.out");
    char c1,c2;
    fin>>n>>per;
    formare();
    af();
    for(int i=0;i<per;i++)
    {
        fin>>c1>>c2;
        if(util[c1][c2]==0)
        {
            n2-=matrice[c1][c2];
            util[c1][c2]=1;
            util[c2][c1]=1;
        }
    }
    fout<<n2%modul<<'\n';

}