Cod sursa(job #1044803)

Utilizator Toast97Calin Farcas Toast97 Data 30 noiembrie 2013 14:12:12
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

using namespace std;

ifstream f("nrcuv.in");
ofstream g("nrcuv.out");

bool x[27][27];
long long d[1005][27];

int main()
{
    int n, m, i, j, k, sol=0;
    char a, b;

    f>>n>>m;

    for(i=1;i<=m;i++) {
        f>>a>>b;
        x[int(a)-96][int(b)-96]=x[int(b)-96][int(a)-96]=1;
    }

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

    for(i=2;i<=n;i++) for(j=1;j<=26;j++) for(k=1;k<=26;k++) if(!x[j][k]) {d[i][j]+=d[i-1][k]; d[i][j]%=104659;}

    for(i=1;i<=26;i++) sol+=d[n][i];

    g<<sol%104659;

    f.close();
    g.close();
    return 0;
}