Cod sursa(job #893361)

Utilizator redls1995nechita laura redls1995 Data 26 februarie 2013 15:18:07
Problema Lista lui Andrei Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <cstdio>
using namespace std;
int c[40],a[40][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(i=0;i<='z'-'a';i++)
    {
        for(j=0;j<='z'-'a';j++)
        {
            if(a[i][j]==1)
            {
                c[i]++;
                nr++;
                nr=nr%104659;
            }
        }
    }
    for(i=3;i<=n;i++)
    {
        for(j=0;j<='z'-'a';j++)
        {
        if (c[i]!=0) nr=(nr+(c[j]*26)%104659)%104659;
        }
    }
    if (n==1) printf("26");
    else
    /*{
       // pr=1;
       k=1;
       for(i=2;i<=n;i++)
        {
            pr=(pr*26)%104659;
            if (i>2) k=(k*26)%104659;
        }
        s=(nr*k)%104659;*/
        printf("%d",pr-nr);
        //}
    return 0;
}