Cod sursa(job #1082657)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 14 ianuarie 2014 20:50:22
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<cstdio>
int x[27][27],n,m,i,j,v[27][1100],s,jj;
char a,b;
FILE *f,*g;
int main(){
    f=fopen("nrcuv.in","r");
    g=fopen("nrcuv.out","w");
    fscanf(f,"%d%d\n",&n,&m);
    for(i=1;i<=m;i++){
        fscanf(f,"%c %c\n",&a,&b);
        x[a-'a'][b-'a']=1;
        x[b-'a'][a-'a']=1;
    }
    for(i=0;i<26;i++){
        v[i][1]=1;
    }
    for(i=2;i<=n;i++){
        for(j=0;j<26;j++){
            for(jj=0;jj<26;jj++){
                if(x[j][jj]==0&&x[jj][j]==0)
                    v[j][i]=(v[j][i]+v[jj][i-1])%104659;
            }
        }
    }
    for(i=0;i<26;i++)
        s=(s+v[i][n])%104659;

    fprintf(g,"%d",s);


    fclose(f);
    fclose(g);
    return 0;
}