Cod sursa(job #1424106)

Utilizator xoSauceSergiu Ferentz xoSauce Data 23 aprilie 2015 15:17:32
Problema Lista lui Andrei Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <iostream>
#include <memory.h>
using namespace std;

ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int main(){


	int n,m;
	fin >> n >> m;
	int allow[27];
	for(int i = 'a'-'a'; i<='z'-'a'; i++)
		allow[i] = 26;

	bool viz[27][27];
	memset(viz,0,sizeof(viz));
	for(int i = 0 ; i < m ; i++){
		char x,y;
		fin >> x >> y;
		if(!viz[x-'a'][y-'a'])
			allow[x-'a'] --;
		if(!viz[y-'a'][x-'a'] && y != x)
			allow[y-'a'] --;
		viz[x-'a'][y-'a'] = true;
		viz[y-'a'][x-'a'] = true;
		
	}
	long long sum = 0;
	for(int i =0 ; i < n-1; i++){
		for(int j = 0 ;j <= 'z'-'a'; j++){
			sum = (sum + allow[j])%104659;
		}
	}
	cout << sum%104659 << endl;
	fout << sum%104659 << endl;
	return 0;
}