ZOJ List the Books 水~

2014-11-24 07:33:52 · 作者: · 浏览: 0

http://acm.zju.edu.cn/onlinejudge/showProblem.do problemId=1727

题目大意:

给你书名、出版时间、价格,让你按照一定的顺序排序。。

其中题目会给出优先级最高的,剩下两个按书名优先级>出版时间>价格来排序。


思路:

练习sort重载的。。。

不过sort(book,book+n,cmp_by_name);的重载函数竟然不能用引用。。不然会cp好吧,我习惯写重载<运算符了。

#include
  
   
#include
   
     #include
    
      using namespace std; const int MAXN=100+2; struct Book { char name[MAXN]; int year,price; }book[MAXN]; bool cmp_by_name(Book a,Book b) { int k=strcmp(a.name,b.name); if(k < 0) return true; else if(k > 0) return false; return a.year < b.year || (a.year==b.year && a.price
     
       b.price) return false; int k=strcmp(a.name,b.name); if(k < 0) return true; else if(k > 0) return false; return a.year
      
        b.year) return false; int k=strcmp(a.name,b.name); if(k < 0) return true; else if(k > 0) return false; return a.price