Cod sursa(job #2626716)

Utilizator darkeagleDaniel Popescu darkeagle Data 7 iunie 2020 20:08:21
Problema Lista lui Andrei Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;
int a[27][27];

int b[27][1003];
int v[27];
int n, m;
int main()
{
    freopen("nrcuv.in", "r", stdin);
    freopen("nrcuv.out", "w", stdout);


    scanf("%d %d",&n,&m);

    int x1, x2;
    char c1, c2,d1;

    scanf("%d",&d1);
    int i, j;
    for(i=1;i<=m;i++) {

        scanf("%c %c",&c1,&c2);


        x1 = int(c1) - 96;
        x2 = int(c2) - 96;
        scanf("%c",&d1);

        a[x1][x2] = a[x2][x1] = 1;

    }

    for(i=1;i<=26;i++)
   {

       for(j=1;j<=26;j++)
        b[i][1] += a[i][j];
   }
for(i=1;i<=26;i++)
    b[i][1] = 26 - b[i][1];

int t = 2;

    while(t < n)
{
    for(i=1;i<=26;i++) {

 for(j=1;j<=26;j++)
 {
     if(a[i][j] == 0)
        b[i][t] += b[j][t-1];
 }


}
 t++;

}
int s = 0;
    for(i=1;i<=26;i++)
    {
        s += b[i][n-1]%104659;




    }

printf("%d",s);

    return 0;
}