Pagini recente » Cod sursa (job #420011) | Cod sursa (job #1369451) | Cod sursa (job #1244526) | Cod sursa (job #866894) | Cod sursa (job #648833)
Cod sursa(job #648833)
#include<stdio.h>
#include<vector>
#include<fstream>
using namespace std;
long int vecini[125][125];
long int dp[1000][125];
int main()
{
char c1,c2;
long int l1,l2,i,suma=0,N,M;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
f>>N>>M;
for(i=1;i<=M;i++)
{
f>>c1>>c2;
vecini[(int)c1][(int)c2]=1;
vecini[(int)c2][(int)c1]=1;
}
for(i='a';i<='z';i++)
dp[1][i]=1;
for(i=2;i<=N;i++)
for(l1='a';l1<='z';l1++)
for(l2='a';l2<='z';l2++)
if(vecini[l1][l2]==0)
dp[i][l2]=( (dp[i-1][l1]%104569) + (dp[i][l2]%104569) )%104659;
for(i='a';i<='z';i++)
suma=( (suma%104569) + (dp[N][i]%104569) )%104659;
g<<(suma%104569);
return 0;
}