Pagini recente » Cod sursa (job #1508082) | Cod sursa (job #3295844) | Cod sursa (job #2019150) | Istoria paginii utilizator/pestcontrol411 | Cod sursa (job #479972)
Cod sursa(job #479972)
#include <iostream>
#include <fstream>
#define nmax 1005
#define mod 104659
using namespace std;
const char iname[] = "nrcuv.in";
const char oname[] = "nrcuv.out";
ifstream fin(iname);
ofstream fout(oname);
bool ap[28][28];
int i, j, dp[nmax][28], N, M, k, sum;
char a, b;
int main()
{
fin >> N >> M;
for(i = 1; i <= M; i ++)
{
fin >> a >> b;
ap[a - 'a' + 1][b - 'a' + 1] = true;
ap[b - 'a' + 1][a - 'a' + 1] = true;
}
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(ap[j][k] == false)
dp[i][k] = (dp[i][k] + dp[i - 1][j]) % mod;
for(i = 1; i <= 26; i ++)
sum = (sum + dp[N][i]) % mod;
fout << sum;
return 0;
}