Cod sursa(job #895409)

Utilizator redls1995nechita laura redls1995 Data 27 februarie 2013 11:19:05
Problema Lista lui Andrei Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <cstdio>
using namespace std;
int c[40],a[40][40],b[1008][40];

int main()
{
    freopen("nrcuv.in","r",stdin);
    freopen("nrcuv.out","w",stdout);
    int n,m,i,j,k,nr=0,nre=0,nrt=0,s=0,pr=26,x1,y1;
    char x,y;
    scanf("%d%d\n",&n,&m);
    for(i=1;i<=m;i++)
    {
        scanf("%c %c\n",&x,&y);
        x1=x;
        y1=y;
        if (a[x1-'a'][y1-'a']==0 && x1==y1)nre++;
        if (a[x1-'a'][y1-'a']==0 ) nrt=nrt+2;
        a[x1-'a'][y1-'a']=a[y1-'a'][x1-'a']=1;
    }
    for(k=2;k<=n;k++)
    {
            pr=(pr*26)%104659;
    }
     for(j=0;j<='z'-'a';j++)
        {
           // if(a[i][j]==1)
            //{
                b[1][j]++;
            //}
        }
    for(k=2;k<=n;k++)
    {
        s=0;
        for(i=0;i<='z'-'a';i++)
        {
        for(j=0;j<='z'-'a';j++)
        {
        if (a[i][j]==0)
        {
            s=(s+b[k-1][i])%104659;
        }
         }
         b[k][i]=s;
         s=0;
    }
    }
    if (n==1) printf("26");
    else
    {
         for(i=0;i<='z'-'a';i++)
    s=(s+b[n][i])%104659;
     printf("%d",s);
    }
    return 0;
}