Pagini recente » Cod sursa (job #1825399) | Cod sursa (job #1843868) | Cod sursa (job #1611399) | Cod sursa (job #2527129) | Cod sursa (job #2340648)
#include <iostream>
#include <fstream>
#define MOD 104659
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int n, m;
int dp[150],auxdp[150];
bool posibil[150][150];
void copiere_aux()
{
for (int i=(int)'a'; i<=(int)'z'; i++)
{
dp[i]=auxdp[i];
auxdp[i]=0;
}
}
int main() {
char l1, l2;
f >> n >> m;
for (int litere=0; litere<m; litere++)
{
f >> l1 >> l2;
posibil[l1][l2]=1;
posibil[l2][l1]=1;
}
for (int i=(int)'a'; i<=(int)'z'; i++)
{
dp[i]=1;
}
for (int i=2; i<=n; i++)
{
for (int lit=(int)'a'; lit<=(int)'z'; lit++)
{
for (int cautat=(int)'a'; cautat<=(int)'z'; cautat++)
{
if (posibil[lit][cautat]==0)
{
auxdp[lit]+=dp[cautat];
auxdp[lit]%=MOD;
}
}
}
copiere_aux();
}
int s=0;
for (int lit=(int)'a'; lit<=(int)'z'; lit++)
{
s+=dp[lit];
s%=MOD;
}
g << s;
return 0;
}