Pagini recente » Cod sursa (job #2775308) | Cod sursa (job #6672) | Cod sursa (job #2325950) | Borderou de evaluare (job #528097) | Cod sursa (job #644713)
Cod sursa(job #644713)
# include <cstdio>
using namespace std;
int n, m, i, j, k, x, sum, viz[27][27], dp[1005][30];
char lit1, lit2;
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d%d",&n,&m);
for (i = 1; i <= m; i++)
{
scanf("%c",&lit1);
scanf("%c %c",&lit1,&lit2);
viz[lit1 - 'a' + 1][lit2 - 'a' + 1] = 1;
viz[lit2 - 'a' + 1][lit1 - 'a' + 1] = 1;
}
for (i = 1; i <= 26; i++)
dp[1][i] = 1;
for (i = 1; i <= n - 1; i++)
for (j = 1; j <= 26; j++)
for (k = 1; k <= 26; k++)
if (!viz[j][k])
dp[i + 1][j] = (dp[i + 1][j] + dp[i][k]) % 104659;
for (i = 1; i <= 26; i++)
sum += dp[n][i] % 104659;
printf("%d",sum);
return 0;
}