Cod sursa(job #1680076)

Utilizator isav_costinVlad Costin Andrei isav_costin Data 8 aprilie 2016 15:02:47
Problema Lista lui Andrei Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#define MOD 104659
#define LIM 26

int c[LIM+1][LIM+1], s[1001][1001];

using namespace std;

int main()
{
    freopen( "nrcuv.in", "r", stdin );
    freopen( "nrcuv.out", "w", stdout );
    int n, m, i, j, l, sum=0;
    char a, b;
    scanf( "%d%d", &n, &m );
    for( i=1;i<=m;i++ )
    {
        scanf( "\n%c %c", &a, &b );
        c[a-'a'+1][b-'a'+1]=1;
        c[b-'a'+1][a-'a'+1]=1;
    }
    for( i=1;i<=LIM;i++ )
        s[1][i]=1;
    for( l=2;l<=n;l++ )
        for( i=1;i<=LIM;i++ )
            for( j=1;j<=LIM;j++ )
                if( !c[i][j] )
                    s[l][j]=s[l][j]+s[l-1][i];
    for( i=1;i<=LIM;i++ )
        sum=(sum+s[n][i])%MOD;
    printf( "%d", sum );
    return 0;
}