Cod sursa(job #898817)

Utilizator dariusmareCostolas Darius dariusmare Data 28 februarie 2013 11:51:41
Problema Lista lui Andrei Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
using namespace std;
#define MOD 104659
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
int vecin[30][30];
int v[1002][30];
int main()
{
    int n,m,i,j,k,rez=0;
    char a,b;
    in >> n >> m;

    for(i=1; i<=m; i++)
    {
        in >> a >> b;

        vecin[a-'a'+1][b-'a'+1]=true;
        vecin[b-'a'+1][a-'a'+1]=true;
    }

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

    for(i=1;i<=n-1;i++)
    {
        for(j=1;j<=26;j++)
            if(v[i][j])
            {
                for(k=1; k<=26; ++k)
                    if(vecin[k][j]==false)
                    {
                        v[i+1][k] += v[i][j];
                        v[i][j] %= MOD;
                    }
            }
    }
    for(i=1; i<=26; i++)
        rez += (v[n][i])%MOD;

    out<<rez;
    return 0;
}