Pagini recente » Cod sursa (job #2424742) | Cod sursa (job #2856732) | Cod sursa (job #874493) | Cod sursa (job #2394045) | Cod sursa (job #2438834)
#include <bits/stdc++.h>
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
bool res[26][26] ;
int dp[2][26];
const int MOD = 104659;
int main()
{
int n, m;
f >> n >> m;
for ( int i = 1 ; i <= m ; i++)
{
char a, b;
f >> a >> b;
res[a - 'a'][b - 'a'] = res[b - 'a'][a - 'a'] = true;
}
int sus = 0, jos = 1;
int ans = 0;
for ( int i = 1; i <= n; i++ )
{
for ( int j = 0 ; j <= 25; j++ )
{
dp[jos][j] = 0;
if ( i == 1 )
dp[jos][j] = 1;
else
for ( int k = 0 ; k <= 25; k++)
if ( !res[j][k] )
{
dp[jos][j] += dp[sus][k];
dp[jos][j] %= MOD;
}
if ( i == n )
{
ans +=dp[jos][j];
ans %= MOD;
}
}
swap ( sus, jos );
}
g << ans ;
}