Cod sursa(job #1512306)

Utilizator PaulStighiStiegelbauer Paul-Alexandru PaulStighi Data 27 octombrie 2015 21:51:35
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>
#define DM 1004
#define MOD 104659
using namespace std;

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

int LA[26][26];
int T[DM][26];
int Sol,N,M;

int main()
{
    int i,j,k;

    fin>>N>>M;

    for(i=1;i<=M;++i)
    {
        char a,b;

        fin>>a>>b;

        LA[a-'a'][b-'a']=1;
        LA[b-'a'][a-'a']=1;
    }

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

    for(i = 2; i <= N; i++)
        for(j = 0; j < 26; j++)
            for(k = 0; k < 26; k++)
                if(!LA[j][k] && !LA[k][j])
                    T[i][j] = (T[i][j] + T[i - 1][k]) % MOD;

    for(i = 0; i < 26; i++)
        Sol = (Sol + T[N][i]) % MOD;

    fout<<Sol<<"\n";

    fin.close();
    fout.close();
    return 0;
}