Cod sursa(job #893238)

Utilizator redls1995nechita laura redls1995 Data 26 februarie 2013 14:10:02
Problema Lista lui Andrei Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 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(j=0;i<='z'-'a';i++)
    {
        for(j=0;j<='z'-'a';j++)
        {
            if(a[i][j]==0)
            {
                c[i]++;
                nr++;
            }
        }
    }*/
    if (n==1) printf("26");
    else
    {
        if (n==2) printf("%d",26*26-nrt+nre);
        else
        {
       for(i=2;i<=n;i++)
        {
            pr=(pr*26)%104659;
            s=pr-(26*nrt)%104659%104659-nre;
            nrt=s;
        }
        printf("%d",s);
        }
    }
    return 0;
}