Cod sursa(job #710319)

Utilizator suzanicaSuzanica Mihu suzanica Data 9 martie 2012 14:18:42
Problema Lista lui Andrei Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
//Grab Ruben Laurentiu.
#include<fstream>
using namespace std;

int n,m,a[2003][4],st[1003];
char cuv[4];
long int cuvinte;
void citire()
{
	ifstream in("nrcuv.in");
	int i;
	in>>n>>m;
	in.getline(cuv,4);
	for(i=1;i<=m;i++)
	{
		in.getline(cuv,4);
		a[i][0]=(int)cuv[0]-96;
		a[i][1]=(int)cuv[2]-96;
	}	
	in.close();
}

int bun(int k)
{
	if(k==1)
		return 1;
	else
		for(int i=1;i<=m;i++)
			if(a[i][0]==st[k-1] && a[i][1]==st[k])
				return 0;
	return 1;
}

void bkt(int k)
{
	if(k>n)
		cuvinte++;
	else
		for(int i=1;i<=26;i++)
		{
			st[k]=i;
			if(bun(k)==1)
				bkt(k+1);
		}
}

void afisare()
{
	ofstream out("nrcuv.out");
	out<<cuvinte%104659<<" ";
	out.close();
}
int main()
{
	citire();
	bkt(1);
	afisare();
	return 0;
}