Cod sursa(job #1015508)

Utilizator sebinechitasebi nechita sebinechita Data 24 octombrie 2013 19:27:19
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
#include <queue>
#include <deque>
#include <iomanip>
#include <stack>
#include <cstdio>

using namespace std;

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

#define baza 10
#define MAX 1100
#define MOD 104659

typedef long long int lli;

int a[MAX][28];
bool b[28][28];

int main()
{
    char a1, a2;
    int n, nr, i, j, k, s;
    fin>>n>>nr;
    for(i=1;i<=nr;i++)
    {
        fin>>a1>>a2;
        b[a1-'a'][a2-'a']=b[a2-'a'][a1-'a']=1;
    }
    for(i=0;i<=25;i++)
    {
        a[1][i]=1;
    }
    for(i=1;i<=n;i++)
    {
        for(j=0;j<=25;j++)
        {
            for(k=0;k<=25;k++)
            {
                if(!b[j][k])
                {
                    a[i][j]+=a[i-1][k];
                    a[i][j]%=MOD;
                }
            }
        }
    }
    s=0;
    for(i=0;i<=25;i++)
    {
        s+=a[n][i];
        s%=MOD;
    }



    fout<<s;



    return 0;
}