Cod sursa(job #664456)

Utilizator cameleonGeorgescu Dan cameleon Data 20 ianuarie 2012 09:39:14
Problema Lista lui Andrei Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
#define MOD 104659;
int ad[30],s,n,m,i,nr[30],a[30][30],j;
char x,y;
int main()
{
	f>>n>>m;
	for(i=1;i<=m;i++)
	{
		f>>x>>y;
		if(x!=y)
			if(a[x-'a'][y-'a']==0)
				a[x-'a'][y-'a']=a[y-'a'][x-'a']=1,ad[x-'a']++,ad[y-'a']++;
		if(x==y && a[x-'a'][x-'a']==0)
				a[x-'a'][x-'a']=1,ad[x-'a']++;
	}
	for(i=0;i<='z'-'a';i++)
			nr[i]=1;
	
	for(i=2;i<=n;i++)
	{
		s=0;
		for(j=0;j<='z'-'a';j++)
		{
			nr[j]=(nr[j]*(('z'-'a'+1)-ad[j]))%MOD;
			s=(s+nr[j])%MOD;
		}
	}
		g<<s;
	return 0;
}