Cod sursa(job #1667145)

Utilizator robertkarolRobert Szarvas robertkarol Data 28 martie 2016 18:04:02
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n,m,k,i,j,a[27][27],sol[1001][27];
char l1,l2;
int main()
{
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>l1>>l2;
        a[l1-'a'+1][l2-'a'+1]=a[l2-'a'+1][l1-'a'+1]=1;
    }
    for(k=1;k<=n;k++)
        if(k==1)
            for(i=1;i<=26;i++) sol[k][i]=1;
        else
            for(i=1;i<=26;i++)
                for(j=1;j<=26;j++)
                    if(!a[i][j]) sol[k][j]=(sol[k][j]+sol[k-1][i])%104659;
    for(i=2;i<=26;i++)
        sol[n][i]=(sol[n][i]+sol[n][i-1])%104659;
    fout<<sol[n][26];
    return 0;
}