http://codevs.cn/problem/1214/
右端点排序。注意左右端点大小,数值有可能是负的。
#include<iostream>
using namespace std;
struct MyStruct
{
int a;
int b;
}jiegouti[200];
int main()
{
int n;
cin >> n;
int a, b;
for (int i = 0; i < n; i++)
{
cin >> a>>b;
if (a>b)
{
jiegouti[i].b = a;
jiegouti[i].a = b;
}
else
{
jiegouti[i].b = b;
jiegouti[i].a = a;
}
}
for (int i = 0; i < n-1; i++)
{
for (int j = i + 1; j < n; j++)
{
if (jiegouti[i].b>jiegouti[j].b)
{
swap(jiegouti[i],jiegouti[j]);
}
}
}
int num = 0;
int temp=-22222222;
for (int i = 0; i < n; i++)
{
if (jiegouti[i].a>=temp)
{
temp=jiegouti[i].b;
num++;
}
}
cout << num << endl;
system("pause");
return 0;
}