POJ2726 Holiday Hotel

 1 //注意题目是求宾馆的候选列表,多关键字排序后的关系选择
2 #include<iostream> 3 #include<algorithm> 4 5 using namespace std; 6 7 const int maxn=10005; 8 struct Node 9 { 10 int dist; 11 int cost; 12 }node[maxn]; 13 14 //以距离作为第一关键字,花费作为第二关键字排序 15 bool cmp(Node a,Node b) 16 { 17 if(a.dist==b.dist) 18 return a.cost<b.cost; 19 return a.dist<b.dist; 20 } 21 22 int main() 23 { 24 int n; 25 while(cin>>n&&n) 26 { 27 for(int i=0;i<n;i++) 28 { 29 cin>>node[i].dist>>node[i].cost; 30 } 31 sort(node,node+n,cmp); 32 int cnt=1;//预定的为node[0],所以cnt从1开始计数 33 int dist=node[0].dist; 34 int cost=node[0].cost; 35 for(int i=1;i<n;i++) 36 { 37 if(node[i].dist<dist&&node[i].cost>cost) 38 { 39 cnt++; 40 dist=node[i].dist; 41 cost=node[i].cost; 42 } 43 else if(node[i].cost<cost&&node[i].dist>dist) 44 { 45 cnt++; 46 dist=node[i].dist; 47 cost=node[i].cost; 48 } 49 } 50 cout<<cnt<<endl; 51 } 52 return 0; 53 }

猜你喜欢

转载自www.cnblogs.com/chuanwen-tech/p/11399666.html