PAT1062解题报告

PAT1062解题报告只需一点需要注意 判断四种人中的一种不要放在输入循环里面 很耗时间 include include includeusing structRecord intid inttalent intvirtue Record Record intid inttalent intvirtue id id

只需一点需要注意,判断四种人中的一种不要放在输入循环里面(很耗时间)。。

#include 
  
    #include 
   
     #include 
    
      using namespace std; struct Record{ int id; int talent; int virtue; Record(){} Record(int id_, int talent_, int virtue_): id(id_), talent(talent_), virtue(virtue_){} }; bool cmp(Record a, Record b){ if(a.virtue + a.talent > b.virtue + b.talent) return true; else if(a.virtue + a.talent == b.virtue + b.talent){ if(a.virtue > b.virtue) return true; else if(a.virtue == b.virtue){ if(a.id > b.id) return false; else return true; }else{ return false; } }else{ return false; } } int main(){ int N, L, H; while(scanf("%d%d%d", &N, &L, &H) == 3){ vector 
     
       sage, nobleman, foolman, smallman; int id, virtue, talent; vector 
      
        person_(N); for(int i = 0; i < N; ++i){ scanf("%d %d %d", &id, &talent, &virtue); person_[i] = Record(id, virtue, talent); } for(int i = 0; i < N; ++i){ if(person_[i].virtue >= H){ if(person_[i].talent >= H) sage.push_back(person_[i]); else if(person_[i].talent >= L) nobleman.push_back(person_[i]); }else if(person_[i].virtue >= L){ if(person_[i].talent >= L){ if(person_[i].talent < H){ if(person_[i].virtue >= person_[i].talent) foolman.push_back(person_[i]); else smallman.push_back(person_[i]); }else{ smallman.push_back(person_[i]); } } } } sort(sage.begin(), sage.end(), cmp); sort(nobleman.begin(), nobleman.end(), cmp); sort(foolman.begin(), foolman.end(), cmp); sort(smallman.begin(), smallman.end(), cmp); vector 
       
         person(0); person.insert(person.end(), sage.begin(), sage.end()); person.insert(person.end(), nobleman.begin(), nobleman.end()); person.insert(person.end(), foolman.begin(), foolman.end()); person.insert(person.end(), smallman.begin(), smallman.end()); printf("%d\n", person.size()); for(int i = 0; i < (int)person.size(); ++i){ printf("%d %d %d\n", person[i].id, person[i].virtue, person[i].talent); } } return 0; } 
        
       
      
     
    
  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178773.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:31
下一篇 2026年3月26日 下午4:32


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号