Pagini recente » Borderou de evaluare (job #497624) | Borderou de evaluare (job #946507) | Borderou de evaluare (job #1389766) | Borderou de evaluare (job #1574657) | Cod sursa (job #3121603)
#include<iostream>
#include<vector>
#include<string.h>
#include<fstream>
#include<algorithm>
#define mod 104659
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n,m,i,j,l,c,contor,dp[1005][30],viz[30][30];
char a,b;
int main()
{
fin>>n>>m;
fin.get();
for(i=1;i<=m;i++)
{
fin>>a;
fin.get();
fin>>b;
a=a-'a'+1;
b=b-'a'+1;
viz[(int)a][(int)b]=1;
viz[(int)b][(int)a]=1;
}
for(i=1;i<=26;i++)
{
dp[1][i]=1;
}
for(i=2;i<=n;i++)
{
for(j=1;j<=26;j++)
{
for(l=1;l<=26;l++)
{
if(!viz[j][l])
{
dp[i][j]=(dp[i][j]+dp[i-1][l])%mod;
}
}
}
}
for(i=1;i<=26;i++)
{
contor=(contor+dp[n][i])%mod;
}
fout<<contor;
return 0;
}
/*
2 7
a a
a b
b c
c d
c f
b a
c f
*/