Pagini recente » Cod sursa (job #2642877) | Cod sursa (job #2665065) | Cod sursa (job #2452223) | Cod sursa (job #2798036) | Cod sursa (job #2653142)
#include <bits/stdc++.h>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
int dp[1010][30],mat[1010][30];
const int MOD=104659;
int main()
{
int n,m;
in>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
char a,b;
in>>a>>b;
mat[a-'a'][b-'a']=1;
mat[a-'a'][b-'a']=1;
}
for(int i=0;i<26;i++)
dp[1][i]=1;
for(int i=2;i<=n;i++)
{
for(int j=0;j<26;j++)
{
for(int k=0;k<26;k++)
if(mat[j][k]==0 && mat[k][j]==0)
dp[i][j]=(dp[i][j]+dp[i-1][k])%MOD;
}
}
int ans=0;
for(int i=0;i<26;i++)
ans=(ans+dp[n][i])%MOD;
out<<ans<<"\n";
return 0;
}