fusión intervalo de C ++

#include <iostream> 
#include <vector> 
#include <algoritmo> 
using namespace std; 
typedef par <int, int> PII; 
int const N = -2e9; 

sin efecto de combinación (vector <PII> & segs) { 
vector <PII> res; 
sort (segs.begin (), segs.end ()); 
Int start = N, final = N; 
de (seg automático: segs) { 
si (seg.first> final) { 
res.push_back if (! = extremo N) ({start, end}); 
start = seg.first; 
terminar = seg.second; 
} 
Else { 
final = max (final, seg.second); 
} 

} 
If (! Start = N) res.push_back ({inicio, final}); 
segs = res; 
} 
Int main () { 
vector <PII> segs; 
int n;
for (int i = 0; i <n; i ++) { 
int l, r; 
cin >> l >> r; 
segs.push_back ({L, R}); 


} 

De combinación (segs); 
cout << segs.size (); 


return 0; 
}

  

Supongo que te gusta

Origin www.cnblogs.com/pengzhangzhi/p/12604079.html
Recomendado
Clasificación