Cod sursa(job #865964)

Utilizator ard_procesoareLupicu ard_procesoare Data 27 ianuarie 2013 13:02:57
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
#include <vector>
using namespace std;
#define NMAX 1005
#define MOD 104659
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int d[NMAX][27],n;
bool ma[27][27];
vector <int> v[27];
void read()
{
    int m,x,y;
    char a,b;
    fin>>n>>m;
    for(int i=0;i<m;i++)
    {
        fin>>a>>b;
        x=a-96;
        y=b-96;
        if(ma[x][y]==true)
            continue;
        ma[x][y]=ma[y][x]=true;
        v[x].push_back(y);
        v[y].push_back(x);
    }
}
int main()
{
    read();
    int i,j,k;
    for(i=1;i<=26;i++)
        d[1][i]=1;
    for(k=2;k<=n;k++)
    {
        for(i=1;i<=26;i++)
        {
            for(j=1;j<=26;j++)
            {
                if(ma[i][j]==true)
                    continue;
                d[k][i]+=d[k-1][j];
                if(d[k][i]>=MOD)
                    d[k][i]-=MOD;
            }
        }
    }
    for(i=1;i<=26;i++)
        d[0][0]+=d[n][i];
    fout<<d[0][0]%MOD;
}