Cerinţa
Se dau n
intervale [a,b]
, unde a
şi b
sunt numere întregi. Să se afişeze acele intervale care au proprietatea că intersecţia lor cu oricare dintre celelalte n-1
intervale este mulţimea vidă.
Date de intrare
Fişierul de intrare intervale.in
conţine pe prima linie numărul n
, iar pe următoarele n
linii câte două numere întregi, separate prin spaţii, reprezentând capetele unui interval.
Date de ieşire
Fişierul de ieşire intervale.out
va conţine pe prima linie numărul k
, reprezentând numărul de intervale care au proprietatea de mai sus. Urmează k
linii, fiecare conţinând câte două numere întregi – capetele intervalelor determinate. Intervalele se vor afişa în ordinea în care au fost date în fişierul de intrare.
Restricţii şi precizări
1 ≤ n ≤ 100
- pentru fiecare interval dat
[a,b]
,-30000 ≤ a , b ≤ 30000
Exemplu
intervale.in
4 8 16 17 20 2 6 10 15
intervale.out
2 17 20 2 6
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Intervale:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("intervale.in");
ofstream fout("intervale.out");
int n,a[105],b[105], v[105];
int main(){
fin >> n;
for(int i=1;i<=n;++i)
fin >> a[i] >> b[i];
int k = 0;
for(int i=1;i<=n;++i){
int pp = 1;
for(int j=1;j<=n;++j)
if(i!=j)
if(!(a[i]>b[j] || b[i]<a[j]))
pp = 0;
if(pp)
v[++k] = i;
}
fout << k << "
";
for(int i=1;i<=k;++i)
fout << a[v[i]] << " " << b[v[i]] << "
";
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #261 Intervale
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #261 Intervale de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!