Cod sursa(job #1526307)

Utilizator andrei_bB. Andrei andrei_b Data 16 noiembrie 2015 09:09:12
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;

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

int n,m,cuv[1005][30],comp[30][30];
const int mod=104659;

int main()
{
    int suma=0;
    char y,z;
    fin>>n>>m;
    for ( int i=1 ; i<=m ; i++ ){
        fin>>z>>y;
        comp[z-'a'][y-'a']++;
    }

    for ( int i=0 ; i<=25 ; i++ )
        cuv[1][i]=1;

    for ( int i=2 ; i<=n ; i++ ){
        for ( int j=0 ; j<=25 ; j++ ){
            for ( int k=0 ; k<=25 ; k++ ){
                if ( comp[j][k]==0 && comp[k][j]==0 )
                    cuv[i][j]=(cuv[i][j]%mod+cuv[i-1][k]%mod)%mod;
            }
        }
    }

    for ( int i=0 ; i<=25 ; i++ )
        suma=(suma%mod+cuv[n][i]%mod)%mod;

    fout<<suma;



}