Cod sursa(job #2382546)

Utilizator divianegoescuDivia Negoescu divianegoescu Data 18 martie 2019 14:24:26
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#define  R 104659
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n,m,v[27][27],total,i,j,t;
int D[1010][27];///D[i][j]= cate siruri de lg i se termina in litera j
char x,y;
int main()
{
    fin>>n>>m;
    for(i=1;i<=m;i++){
        fin>>x>>y;
        v[x-'a'][y-'a']=v[y-'a'][x-'a']=1;
    }
    for(i=0;i<=25;i++)
        D[1][i]=1;
    for(i=2;i<=n;i++)
        for(j=0;j<=25;j++)///calculez D[i][j],adaug litera j la finalul unui sir de lg i-1
            for(t=0;t<=25;t++)
                if(v[j][t]==0)
                    D[i][j]=(D[i][j]+D[i-1][t])%R;

    for(i=0;i<=25;i++)
        total=(total+D[n][i])%R;
    fout<<total;
    return 0;
}