火影忍者之~鸣人
火影忍者的男主角漩涡鸣人,因为身上封印着邪恶的九尾妖狐,无父无母的他受尽了村人的冷眼与歧视,他下定决心要成为第六代火影,让所有人都认同他的存在,火影是动漫火影忍者中主人公鸣人所在的国家的最强忍者的头衔,史上最强火影为鸣人的父亲--四代火影波风水门,乃是传说级的人物,也是最年轻的火影,要成为火影,不仅需要有千种忍术和全村人的认同 更要有冷静的头脑 德高望重也必不可少 还要有优秀的领导能力,这之中战斗能力是最重要的,然后是领导能力,现在又到了选火影的时候了,可是鸣人此时还很弱,所以给出m个候选人,每个人有战斗力、领导能力两个主要的作为能力判断的依据,还有n个个人信息,第一条信息为名字,按战斗力和领导能力的高低作为标准,判断这些人中最具有担任火影资格的k人。
第一行:m,n,k都为整数
然后是m个候选人的信息,每个人的信息包括n行,第一行是名字,接下来n-1行是其他信息,每条信息为不超过100的字符串,然后是战斗力、领导能力为一行,m、n不超过500. k不超过50.字符串均不包括空白符
5 3 3
dawn
haligong
dianji
500 500
freelon
haligong
wangluo
500 500
zeropointer
haligong
dianqi
600 400
cha
haligong

computer
800 600
13brother
haligong
computer
400 400
cha
zeropointer
dawn
——————————————————————————————————————
排序题,按题目所述排序
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <queue> #include <stack> #include <string> #include <set> #include <map> using namespace std; int m,n,k; struct node { int zhan,ling; char s[505][105]; }p[505]; bool cmp(node a,node b) { if(a.zhan!=b.zhan) return a.zhan>b.zhan; if(a.ling!=b.ling) return a.ling>b.ling; for(int i=0;i<n;i++) { if(strcmp(a.s[i],b.s[i])!=0) return strcmp(a.s[i],b.s[i])<0; } } int main() { while(cin>>m>>n>>k) { memset(p,0,sizeof(p)); for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { cin>>p[i].s[j]; } cin>>p[i].zhan>>p[i].ling; } sort(p,p+m,cmp); for(int i=0;i<k;i++) printf("%s\n",p[i].s[0]); } return 0; }
讯享网

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