Cod sursa(job #1025616)

Utilizator YoChinezuWeng Mihai Alexandru YoChinezu Data 10 noiembrie 2013 12:53:48
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <cstdio>

using namespace std;

#define mod 104659

int b[30][30];
int d[1005][30];

int main(){
    freopen("nrcuv.in","r",stdin);
    freopen("nrcuv.out","w",stdout);
    int n,m,l,l1,i;
    char a,bb,aux;
    scanf("%d%d%c",&n,&m,&aux);
    for(i=1;i<=m;i++){
        scanf("%c%c%c",&a,&aux,&bb);
        b[a-'a'][bb-'a']=1;
        b[bb-'a'][a-'a']=1;
        scanf("%c",&aux);
    }
    for(i=0;i<26;i++){
        d[1][i]=1;
    }
    for(i=1;i<=n;i++){
        for(l=0;l<26;l++){
            for(l1=0;l1<26;l1++){
                if(!b[l][l1]&&!b[l1][l])
                    d[i][l]=(d[i][l]+d[i-1][l1])%mod;
            }
        }
    }
    int sol=0;
    for(i=0;i<26;i++){
        sol=(sol+d[n][i])%mod;
    }
    printf("%d",sol);
    return 0;
}