Cod sursa(job #922281)

Utilizator NicuCJNicu B. NicuCJ Data 22 martie 2013 00:55:29
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
int n, m;
char x, y;
bool gt[27][27];
int d[1001][27], sum, k, j, i;
int main()
{
	ifstream f("nrcuv.in");
	ofstream g("nrcuv.out");
	f>>n>>m;
	for(i=1; i<=m; i++)
	{
		f>>x>>y;
		gt[x-'a'][y-'a']=gt[y-'a'][x-'a']=1;
	}
	for(i='a'-'a'; i<='z'-'a'; i++)
	{
		d[1][i]=1;
		//ok[1][i]=1;
	}
	for(i=2; i<=n; i++)
	{
		for(j='a'-'a'; j<='z'-'a'; j++)
		{
			//incercam sa punem litera j intr-o configuratie precedenta
			for(k='a'-'a'; k<='z'-'a'; k++)
			{
				if(gt[j][k])
					continue;
				d[i][j]+=d[i-1][k];
				d[i][j]%=104659;
			}
		}
	}
	for(i=0; i<='z'-'a'; i++)
	{
		sum+=d[n][i];
		sum%=104659;
	}
	g<<sum;
}