Cod sursa(job #3039877)

Utilizator Bianca2507Negret Bianca Bianca2507 Data 28 martie 2023 22:47:14
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <cstring>
#define mod 104659
using namespace std;
ifstream cin("nrcuv.in");
ofstream cout("nrcuv.out");
int a1[31][31],b[1005][31];
int n,m,i,j,s,l,k;
char x,y;
int main()
{
    cin>>n>>m;
    for(i=1;i<=m;i++)
    {
        cin>>x>>y;
        a1[x-'a'+1][y-'a'+1]=1;
        a1[y-'a'+1][x-'a'+1]=1;
    }

    ///putem forma 26 de cuvinte cu o litera
    for(i=1;i<=26;i++)
        b[1][i]=1;
     ///luam pe rand cate cuvinte putem forma cu o litera ,cu 2 litere,...
    for(i=2;i<=n;i++)
    {
            for(j=1;j<=26;j++)
              for(l=1;l<=26;l++)
              if(a1[j][l]==0)
            {
                b[i][j]=(b[i][j]+b[i-1][l])%mod;
            }
    }
    for(j=1;j<=26;j++)
        s=(s+b[n][j])%mod;
    cout<<s;
    return 0;
}