题目描述
选取宾馆M
-
离海滩比M近的宾馆要比M贵。
-
比M便宜的宾馆离海滩比M远。
根据距离由小到大对宾馆排序,假如当前宾馆的费用比之前的都小(小于之前的宾馆的价格的最小值)即符合题意
#include<iostream>
#include<algorithm>
using namespace std;
struct hotel{
int dist;
int cost;
};
hotel h[10005];
bool com(const hotel& a,const hotel& b){
if(a.dist==b.dist)
return a.cost<b.cost;
return a.dist<b.dist;
}
int main(){
int n;
while(cin>>n)
{
if(n==0)
break;
for(int i=0;i<n;i++)
cin>>h[i].dist>>h[i].cost;
sort(h,h+n,com);
int min=INT_MAX;
int ans=0;
for(int i=0;i<n;i++){
if(h[i].cost<min){
ans++;
min=h[i].cost;
}
}
cout<<ans<<endl;
}
return 0;
}