Cod sursa(job #759399)

Utilizator anca1243Popescu Anca anca1243 Data 17 iunie 2012 21:50:38
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
const int N=1005;
const int M=2005;
int n,m,a[N][27],l[27][27];
char x,y;
void rez()
{
    for(int i=1;i<=26;i++)
        a[1][i]=1;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=26;j++)
            for(int k=1;k<=26;k++)
                if(!l[k][j])
                {
                    a[i][j]+=a[i-1][k];
                    a[i][j]%=104659;
                }
}
int main()
{
    int i,j,s=0;
    in>>n>>m>>ws;
    for(i=1;i<=m;i++)
    {
        in>>x>>ws>>y>>ws;
        l[x-'a'+1][y-'a'+1]=1;
        l[y-'a'+1][x-'a'+1]=1;
    }
    rez();
    for(i=1;i<=26;i++)
        s+=a[n][i];
    out<<s%104659;
    return 0;
}