Pagini recente » Cod sursa (job #238038) | Cod sursa (job #2904218) | Cod sursa (job #1071289) | Cod sursa (job #503074) | Cod sursa (job #2319954)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
int n,m;
long long dp[1005][30];
bool c[30][30];
char x,x1;
unsigned long long suma;
int main()
{
in>>n>>m;
for(int i=1;i<=m;i++)
{
in>>x>>x1;
c[x-'a'][x1-'a']=1;
c[x1-'a'][x-'a']=1;
}
for(int i=0;i<='z'-'a';i++)
{
dp[1][i]=1;
}
for(int i=1;i<=n;i++)
{
for(int j=0;j<='z'-'a';j++)
{
for(int k=0;k<='z'-'a';k++)
{
if(c[j][k]==0)
{
dp[i+1][k]+=dp[i][j];
dp[i+1][k]%=104659;
}
}
}
}
for(int i=0;i<='z'-'a';i++)
{
suma+=dp[n][i];
suma%=104659;
}
out<<suma;
return 0;
}