Cod sursa(job #459237)

Utilizator darrenRares Buhai darren Data 28 mai 2010 16:53:12
Problema Lista lui Andrei Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
using namespace std;

#define ch(a) a - 'a'
const int MOD = 104659;

int n, m, nrid, nrt;
bool x[28][28];
long long res = 26;

void read();
void doit();
void write();

int main()
{
	read();
	doit();
	write();
	return 0;
}

void read()
{
	ifstream fin("nrcuv.in");
	fin >> n >> m;
	
	char a, b;
	for (int i = 0; i < m; i++)
	{
		fin >> a >> b;
		a = ch(a), b = ch(b);
		if (a == b && !x[a][b])
		{
			x[a][a] = true;
			++nrt;
		}
		else if (a != b && !x[a][b])
		{
			x[a][b] = x[b][a] = true;
			nrt += 2;
		}
	}
}

void doit()
{
	if (n == 1)
		return;
	for (int i = 2; i <= n; ++i)
	{
		res *= 26;
		res -= nrt;
		res %= MOD;
	}
}

void write()
{
	ofstream fout("nrcuv.out");
	fout << res;
}