Cod sursa(job #197633)

Utilizator catalin_olariOlari Catalin Georgel catalin_olari Data 5 iulie 2008 12:37:09
Problema Reconst Scor 0
Compilator cpp Status done
Runda Junior Challenge 2008 Marime 0.84 kb
#include<fstream.h>
#include<process.h>

int st[100],N,M;


struct intrebare{
	int a,b,s;
	};

intrebare q[50];

void citire()
{ifstream f("reconst.in");
 f>>N>>M;

 for(int i=1;i<=M;i++)
	f>>q[i].a>>q[i].b>>q[i].s;

 f.close();
}



int suma(int a,int b,int s)
{

  for(int i=a;i<=b;i++)
	  s=s-st[i];

  if(s==0)
	return 1;

  return 0;
}


int bun(int k)
{
 if(st[1]==0)
	return 0;
 if(k<N)
	return 1;

 for(int i=1;i<=M;i++)
	if(suma(q[i].a,q[i].b,q[i].s)==0)
		return 0;
 return 1;
}



void afiseaza()
{
 ofstream g("reconst.out");
 for(int i=1;i<=N;i++)
	g<<st[i]<<" ";
 g.close();
 exit(0);
}






void back(int k)
{
 for(int i=0;i<=9;i++)
	{
		st[k]=i;
		if(bun(k))
			if(k==N)
				afiseaza();
			else
				back(k+1);
	}
}


int main()
{
citire();
back(1);
return 0;
}