Pagini recente » Cod sursa (job #964934) | Cod sursa (job #728552) | Cod sursa (job #3270753) | Cod sursa (job #2618586) | Cod sursa (job #3281984)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int v[27][27],n,m;
int dp[1005][27];
/**
0 1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 1 1 1 1
2
*/
int main()
{
int i,j, k;
char a,b;
fin >> n >> m;
while(m--)
{
fin >> a >> b;
v[a - 'a' + 1][b - 'a' + 1] = v[b - 'a' + 1][a - 'a' + 1] = 1;
}
for(i = 1; i <= 26; i++)
dp[1][i] = 1;
for(i = 2; i <= n; i++)
for(j = 1; j <= 26; j++)
{
for(k = 1; k <= 26; k++)
if(!v[j][k] && !v[k][j])
dp[i][j] += dp[i - 1][k];
}
int s = 0;
for(i = 1; i <= 26; i++)
s += dp[n][i];
fout << s;
return 0;
}