Pagini recente » Cod sursa (job #978476) | Cod sursa (job #1045493) | Cod sursa (job #1048453) | Cod sursa (job #2426161) | Cod sursa (job #1803270)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fi("nrcuv.in");
ofstream fo("nrcuv.out");
#define MOD 104659
const int nmax = 1000;
bool litere[27][27];
int m[nmax+1][27];
int n,k;
void init();
int main()
{
init();
for(int i=2;i<=n;i++)
{
for(int j=1;j<=26;j++)
{
for(int t=1;t<=26;t++)
{
if(litere[j][t])
m[i][j]=(m[i][j] + m[i-1][t])%MOD;
}
}
}
int s=0;
for(int i=1;i<=26;i++)
s+=m[n][i];
int p=1;
for(int i=1;i<=n;i++)
p=(p*26)%MOD;
fo<<p-s;
return 0;
}
void init()
{
fi>>n>>k;
for(int i=1;i<=k;i++)
{
char a,b;
fi>>a>>b;
litere[a-'a'+1][b-'a'+1] = true;
litere[b-'a'+1][a-'a'+1] = true;
}
for(int i=1;i<=26;i++)
m[1][i]=1;
}