Cod sursa(job #530730)

Utilizator miadaradiciDaradici Mia miadaradici Data 8 februarie 2011 12:56:17
Problema Lista lui Andrei Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<fstream>
#include<cmath>
using namespace std;
ifstream f ("nrcuv.in");
ofstream g ("nrcuv.out");
char a,b;
int n,m,v[2005][5],i,j,p[30],ff[1000][30];
long long nr;
int main ()
{
	f>>n>>m;
	
	for ( i=1; i<=m; i++ )
	{
		f>>a>>b;
		v[i][1]=int(a);
		v[i][2]=int(b);
	}
	
	for ( i=1; i<m; i++ )
		for ( j=i+1; j<=m; j++ )
			if ( (v[i][1]==v[j][1] && v[i][2]==v[j][2]) || (v[i][1]==v[j][1] && v[i][2]==v[j][2]) || (v[i][1]==v[j][2] && v[i][2]==v[j][1]))
			{
				v[i][1]=0;
				v[i][2]=0;
			}
	for ( i=1; i<=26; i++ )
		for ( j=1; j<=m; j++ )
			if ( v[j][1]==i+96 || v[j][2]==i+96)
				p[i]++;
	
	for ( i=2; i<=n; i++ )
		for ( j=1; j<=26; j++ )
			if ( i==2 )
				ff[i][j]=ff[i-1][j]+26-p[j];
		
	for ( i=1; 	i<=26; i++ )
	{
		nr=nr+ff[n][i];
		if ( nr>=104659 )
			nr=nr-104659;
	}
	g<<nr;
			
	
}