Cod sursa(job #1477504)

Utilizator DysKodeTurturica Razvan DysKode Data 26 august 2015 14:29:18
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>

using namespace std;

char x,y;
int v[100][100],D[1010][100],a,b,i,j,n,m,K,ans;

ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");


int main()
{

    fin>>n>>m;

    for( i = 1 ; i <= 26 ; i++ )
        for( j = 1 ; j <= 26 ; j++ )
        {
            v[ i ][ j ] = 1;
        }

    for( i = 1 ; i <= 26 ; i++ )
        D[ 1 ][ i ] = 1;

    for( i = 1 ; i <= m ; i++ )
    {
        fin>>x>>y;

        a = x - 'a' + 1;
        b = y - 'a' + 1;

        v[ a ][ b ] = 0;
        v[ b ][ a ] = 0;
    }

    for( K = 2 ; K <= n ; K++ )
    {
        for( i = 1 ; i <= 26 ; i++ )
            for( j = 1 ; j <= 26 ; j++ )
            {
                if( v[ i ][ j ] == 1 )
                {
                    D[ K ][ i ] += D[ K - 1 ][ j ];
                    D[ K ][ i ] = D[ K ][ i ] % 104659;
                }
            }
    }

    for( i = 1 ; i <= 26 ; i++ )
    {
        ans+=D[ n ][ i ];
        ans = ans % 104659;
    }

    fout<<ans;


return 0;
}