Pagini recente » Cod sursa (job #587222) | Cod sursa (job #2564490) | Cod sursa (job #1542244) | Cod sursa (job #1789472) | Cod sursa (job #2086135)
#include <fstream>
#define NMAX 1002
#define MOD 104659
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
int n, m, d[NMAX];
int A[27][27];
int main()
{
int s = 0;
char a, b;
in >> n >> m;
for (int i = 0; i < m; i++) {
in >> a >> b;
if (a != b) {
if (A[a - 'a' + 1][b - 'a' + 1] == 0) {
A[a - 'a' + 1][b - 'a' + 1]++;
A[b - 'a' + 1][a - 'a' + 1]++;
}
if (A[a - 'a' + 1][b - 'a' + 1] == 1) {
A[a - 'a' + 1][b - 'a' + 1]++;
A[b - 'a' + 1][a - 'a' + 1] = 0;
}
}
else {
if (A[a - 'a' + 1][b - 'a' + 1] == 0) {
A[a - 'a' + 1][b - 'a' + 1]++;
}
}
}
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= m; j++) {
s += A[i][j];
}
}
d[0] = 1;
d[1] = 26;
for (int i = 2; i <= n; i++) {
d[i] = ((26 * d[i - 1]) % MOD) - s * (i - 1);
}
out << d[n];
return 0;
}