Cod sursa(job #194031)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 7 iunie 2008 22:12:18
Problema Lista lui Andrei Scor 35
Compilator c Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>
#include <stdlib.h>
#define N 30
#define MAX 1010
//int cine[N][N];
//int cati[N];
int n,m;
int v[N][N];
int a[MAX][N];
int main(void){
    int i,j,k,x,y,s;
    char aa,bb;
    freopen("nrcuv.in","r",stdin);
    freopen("nrcuv.out","w",stdout);
    scanf("%d%d\n",&n,&m);
    for (i=1;i<=m;++i){
        scanf(" %c %c",&aa,&bb);
        x=aa-'a'+1;
        y=bb-'a'+1;
        v[x][y]=1;
        v[y][x]=1;
    }
    for (i=1;i<=26;++i)
        a[1][i]=1;
    for (i=2;i<=n;++i){
        for (j=1;j<=26;++j){
            for (k=1;k<=26;++k)
                if (!v[k][j])
                   a[i][j]+=a[i-1][k];
        }
    }
    s=0;
    //for (i=1;i<=26;++i)
        //printf("%d ",a[1][i]);
    //printf("\n");
    //for (i=1;i<=26;++i)
        //printf("%d ",a[2][i]);
    //printf("\n");
    for (i=1;i<=26;++i)
        s+=a[n][i];
    printf("%d\n",s);
    return 0;
}