Pagini recente » Cod sursa (job #724326) | Cod sursa (job #1036909) | Cod sursa (job #2977460) | Cod sursa (job #2616083) | Cod sursa (job #1408374)
#include<fstream>
#include<iostream>
#include<algorithm>
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int c[30][30], dp[1005][30];
int n, m, sum;
char c1, c2;
int const MOD = 104659;
void citire()
{
int i, ind1, ind2;
f>>n>>m;
for(int i=1; i<=m; i++){
f>>c1>>c2;
ind1 = c1 - 'a';
ind2 = c2 - 'a';
c[ind1][ind2] = c[ind2][ind1] = 1;
}
}
void dinam()
{
int i, j, k;
for(i=0; i<26; i++)
dp[1][i] = 1;
for(i=2; i<=n; i++)
for(j=0; j<26; j++)
for(k=0; k<26; k++)
if(c[j][k]==0)
dp[i][j] = (dp[i][j] + dp[i-1][k]) % MOD;
for(i=0; i<26; i++){
sum = (sum + dp[n][i]) % MOD;}
g<<sum<<"\n";
}
int main()
{
citire();
dinam();
return 0;
}