Pagini recente » Cod sursa (job #1530846) | Cod sursa (job #2220146) | Cod sursa (job #180564) | Cod sursa (job #2598051) | Cod sursa (job #648840)
Cod sursa(job #648840)
#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]%104659)+(dp[i][l2]%104659))%104659;
for(i='a';i<='z';i++)
suma=((suma%104659)+(dp[N][i]%104659))%104659;
g<<suma;
return 0;
}