Cod sursa(job #1537665)

Utilizator VisanCosminVisan Tudor Cosmin VisanCosmin Data 27 noiembrie 2015 18:55:47
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>
#define MOD 104659

using namespace std;

long a[27][27]={{1}},b[1001][27],n=2,m;
long long sum;
char c1,c2;

int main()
{

    ifstream fi("nrcuv.in");
    ofstream fo("nrcuv.out");

    fi>>n>>m;
    for(int i =0 ;i<26;i++)
    {
        for(int j=0;j<26;j++)
            a[i][j] = 1;
        //cout<<a[i][j]<<' ';
        //cout<<'\n';
    }


    for(int i = 0;i<m;i++)
    {
        fi>>c1>>c2;
        a[c1-'a'][c2-'a'] = 0;
        a[c2-'a'][c1-'a'] = 0;
    }

    for(int i = 0;i<26;i++)
        b[1][i] = 1;

    for(int i = 2;i<=n;i++)
        for(int j = 0;j<26;j++)
            for(int k = 0;k<26;k++)
                if(a[j][k])
                    b[i][j] = (b[i][j] + b[i-1][k]) % MOD;


    for(int i = 0;i<26;i++)
        sum = (sum + b[n][i])%MOD;


    fo<<sum;


    fi.close();
    fo.close();


    return 0;
}