Cod sursa(job #1095106)

Utilizator pincucatalinPincu Catalin pincucatalin Data 30 ianuarie 2014 14:05:44
Problema Lista lui Andrei Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("nrcuv.in");
ofstream g ("nrcuv.out");
char x,y;
bool pr[2000][27];
int n,m,i,v[1000][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;
}