Cod sursa(job #1676309)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 5 aprilie 2016 20:20:56
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <cstdio>
#define nmax 1005
#define teta 26
#define mod 104659
using namespace std;
char a,b;
int n,m,k[teta][teta];
int v[nmax][teta],sol;


int main()
{
    int i,j,r;
    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\n",&a,&b);
        a-='a';
        b-='a';
        k[a][b]=k[b][a]=1;
    }
    for (i=0;i<teta;i++)
        v[1][i]=1;
    for (i=1;i<=n;i++)
        for (j=0;j<teta;j++) {
            for (r=0;r<teta;r++)
                if (k[j][r]==0)
                    v[i+1][r]=(v[i+1][r]+v[i][j])%mod;
        }
    for (i=0;i<teta;i++)
        sol+=v[n][i];
     printf("%d\n",sol%mod);

    return 0;
}