Probleme de informatică
  Clasa a IX-a
1. Elementele de bază ale limbajului C++ (instructiunile limbajului) (46)
2. Subprograme predefinite (1)
3. Tablouri (145)
4. Fişiere text (2)
5. Algoritmi elementari (106)
6. Probleme diverse (13)
  Clasa a X-a
1. Subprograme definite de utilizator (87)
2. Şiruri de caractere (47)
3. Înregistrări (26)
4. Recursivitate (57)
5. Combinatorica (0)
6. Alocarea dinamică a memoriei (2)
7. Liste înlănţuite (25)
8. Algoritmul lui Lee (1)
  Clasa a XI-a

1. Metoda "Divide et impera" (12)
2. Metoda Backtracking (85)
3. Metoda Greedy (6)
4. Programare dinamică (18)
5. Grafuri neorientate (37)
6. Grafuri orientate (38)
7. Arbori (33)

  Clasa a XII-a
1. Elemente de baza C# (32)
2. POO in C# (13)
3. C# - Windows Form Application (24)
4. Admitere UBB (18)

   Home Inregistrari Bacalaureat 2016   |   Variante bacalaureat 2009   |   Atestat  |   Olimpiada       
Noutăţi
Subiecte admitere la Facultatea de informatica UBB Cluj-Napoca
Subiecte bacalaureat 2010-2018
Bacalaureat 2018 - competenţe digitale
C# - Windows Form Application - exemple
Modele de proiecte de atestat
Bacalaureat 2018
Subiecte si rezolvări 2010-2018
Rezolvari variante bacalaureat 2009
Competenţe digitale
Examen atestat
Rezumat documentatie
php.doc
css.doc
exemple_php_si_css.rar
Modele de proiecte de atestat
Olimpiada
Clasele V-VI
Clasele VII-VIII
Clasa a IX-a
Clasa a X-a
Clasele XI-XII
Noţiuni teoretice
Metode de sortare
Metoda backtracking


Se citeste un numar natuural n si apoi in intervale inchise cu limitele numere intregi.
a) Calculati si afisati numarul maxim de intervale care se intersecteaza.
b) Determinati numarul maxim de intervale disjuncte si afisati-le.
Exemplu:
6
1 3
4 6
5 7
2 6
3 10
8 10
a) 4 (intervalele care se intersecteaza sunt [4,6], [5,7], [3,10] si [2,6]
b) [1,3] [4,6] [8,10] 3


#include<fstream>
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");

struct interval {int a,b;};

void citire(interval &x)
{
	fin>>x.a>>x.b;
}

void afisare(interval x)
{
	fout<<"["<<x.a<<","<<x.b<<"] ";
}

void ordonarea(int n, interval x[100])
{
	int i,gata;
	interval aux;
	do
	{
		gata=1;
		for(i=1;i<n;i++)
			if(x[i].a>x[i+1].a) 
			{
				aux=x[i];
				x[i]=x[i+1];
				x[i+1]=aux;
				gata=0;
			}
	}
	while(!gata);
}

void ordonareb(int n, interval x[100])
{
	int i,gata;
	interval aux;
	do
	{
		gata=1;
		for(i=1;i<n;i++)
			if(x[i].b>x[i+1].b) 
			{
				aux=x[i];
				x[i]=x[i+1];
				x[i+1]=aux;
				gata=0;
			}
	}
	while(!gata);
}

int main()
{
	int n,i,max1=0,max2=0,k,ls,p;
	interval x[100];
	fin>>n;
	for(i=1;i<=n;i++) citire(x[i]);
	ordonarea(n,x);
	k=1;
	ls=x[1].b;
	i=2;
	while(i<=n)
	{   if(x[i].a<=ls)
		{
			k++;
			if(x[i].b<ls) ls=x[i].b;
		}
		else
		{
			if(k>max1) max1=k;
			k=1;
			p=i;
			while(x[i-1].b>=x[p].a && i>=1) i--;
			ls=x[i].b;
		}
		i++;
	}	
	if(k>max1) max1=k;
	fout<<max1;	
	fout<<endl;
	
	ordonareb(n,x);
	max2=1;
	afisare(x[1]);
	ls=x[1].b;
	for(i=2;i<=n;i++)
		if(x[i].a>ls) 
		{ max2++;
		  afisare(x[i]);
		  ls=x[i].b;
		}
	fout<<max2;
	fin.close();
	fout.close();
	return 0;
}


  Clasa a IX-a
1. Elementele de bază ale limbajului C++ (instructiunile limbajului) (46)
2. Subprograme predefinite (1)
3. Tablouri (145)
4. Fişiere text (2)
5. Algoritmi elementari (106)
6. Probleme diverse (13)
  Clasa a X-a
1. Subprograme definite de utilizator (87)
2. Şiruri de caractere (47)
3. Înregistrări (26)
4. Recursivitate (57)
5. Combinatorica (0)
6. Alocarea dinamică a memoriei (2)
7. Liste înlănţuite (25)
8. Algoritmul lui Lee (1)
  Clasa a XI-a

1. Metoda "Divide et impera" (12)
2. Metoda Backtracking (85)
3. Metoda Greedy (6)
4. Programare dinamică (18)
5. Grafuri neorientate (37)
6. Grafuri orientate (38)
7. Arbori (33)

  Clasa a XII-a
1. Elemente de baza C# (32)
2. POO in C# (13)
3. C# - Windows Form Application (24)
4. Admitere UBB (18)

Calculatoare si accesorii second hand
Copyright 2009-2017 Muresan Vasile Ciprian - mcip.ro