Cod sursa(job #1022389)

Utilizator iuliusVasilescu Iulius iulius Data 5 noiembrie 2013 12:47:22
Problema Lista lui Andrei Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <cstdio>

bool v[27][27];

int main()
{
    FILE *in,*out;
    in=fopen("nrcuv.in","r");
    out=fopen("nrcuv.out","w");
    int i,p=1,n,d,k=0,o=0;
    char a,b;

    fscanf(in,"%d%d",&n,&d);
    //citire cele d perechi
    for(i=1;i<=d;i++)
    {
        fscanf(in,"\n%c %c",&a,&b);
        if (a==b)
        {
            o++;
            continue;
        }

        if( a>b )
            if(v[a-'a'][b-'a']==0)
            {
                k++;
                v[a-'a'][b-'a']=1;
            }
        if(a<b)
            if(v[b-'a'][a-'a']==0)
            {
                v[b-'a'][a-'a']=1;
                k++;
            }
    }
    // catalogare cele d perechi
    for(i=2;i<n;i++)
        p=p*26%104659;
    fprintf(out,"%d", (p*26*26%104659 + 104659 - 2*k*p%104659 + 104659 - o*p%104659)%104659);
    return 0;
}