巫泽俊 《挑战》P42
贪心
#include <iostream>
#include <vector>
#include <sstream>
#include <string>
#include <cmath>
#include <stack>
#include <algorithm>
using namespace std;
pair<int,int> p[105];
int a[105];
int b[105];
int main()
{
int n;
cin>>n;
for(int i=1;i<n+1;++i)
{
cin>>a[i]>>b[i];
if(a[i]>=b[i]) {int x=b[i];b[i]=a[i];a[i]=x;}
p[i].first=b[i];
p[i].second=a[i];
}
sort(p+1,p+n+1);
int cnt=0;
int temp=-10000;///temp表示选中的线段延伸的最远处 考虑输入数据正负
for(int i=1;i<n+1;++i)
{
if(p[i].second>=temp)
{
cnt++;
temp=p[i].first;
}
}
cout<<cnt<<endl;
}
浙公网安备 33010602011771号