Pagini recente » Cod sursa (job #371048) | Cod sursa (job #2497161) | Cod sursa (job #2786341) | Cod sursa (job #1411535) | Cod sursa (job #648825)
Cod sursa(job #648825)
#include<stdio.h>
#include<vector>
#include<fstream>
using namespace std;
int vecini[125][125];
long int dp[1000][125];
int main()
{
char c1,c2;
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;
return 0;
}