Cod sursa(job #1095113)

Utilizator pincucatalinPincu Catalin pincucatalin Data 30 ianuarie 2014 14:14:43
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("nrcuv.in");
ofstream g ("nrcuv.out");
char x,y;
bool pr[27][27];
int n,m,i,v[1001][27],s=0;
void afis (int a , int b, int v[1000][27])
{
    for (int i=1;i<=a;i++)
    {
        for (int j=1;j<=b;j++)
            cout<<v[i][j]<<" ";
        cout<<'\n';
    }
}
int main()
{
    f>>n>>m>>ws;
    for (i=1;i<=m;i++)
    {
        f>>x>>ws>>y>>ws;
        pr[x-'a'+1][y-'a'+1]=pr[y-'a'+1][x-'a'+1]=true;
    }
    for (i=1;i<=26;i++)
        v[1][i]=1;
    for (i=1;i<=n;i++)
    {
        for (int j=1;j<=26;j++)
            for (int k=1;k<=26;k++)
                if (!pr[j][k]) v[i][j]=(v[i][j]+v[i-1][k])%104659;
    }
    for (int j=1;j<=26;j++)
        s=(s+v[n][j])%104659;
    //afis (n,26,v);
    g<<s;
    return 0;
}