Cod sursa(job #2673017)

Utilizator szaszdavidSzasz David szaszdavid Data 15 noiembrie 2020 17:24:38
Problema Lista lui Andrei Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
#include <cstring>
using namespace std;
int c[31][31],n,m,a[1005][31],s;
char h,k;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");


int main()
{
    int i,j,x,y,l,z;
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>h>>k;
        /*fout<<x-96<<" "<<y-96;
        h=x-96;
        fout<<" "<<h;*/
        x=h-96;
        y=k-96;
        c[x][y]=1;
        c[y][x]=1;
    }
    for(i=1;i<=26;i++)
    {
        a[1][i]=1;
        a[0][i]=1;
    }
     l=1;
    for(i=2;i<=n;i++,l=1-l)
    {
       memset(a[l],0,sizeof(a[l]));
       for(j=1;j<=26;j++)
       {
           s+=a[1-l][j];
       }
       for(j=1;j<=26;j++)
       {
           for(z=1;z<=26;z++)
           {
               if(c[j][z]==1)
               {
                   a[l][j]-=a[1-l][z];
               }
           }
           a[l][j]+=s;
       }
    }
    s=0;
    for(i=1;i<=26;i++)
    {
       s+=a[1-l][i]%104659;
    }
    fout<<s;
    return 0;
}