问题标题: 酷町堂:1480

0
0
已解决
张云瀚
张云瀚
初级天翼
初级天翼

题目链接: 酷町堂:1480

#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
struct node{
    int xh;
    double cj;
}a[10005];
bool cmp1(node x,node y){
    return x.cj<y.cj;
}
bool cmp2(node x,node y){
    return x.xh<y.xh;
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i].xh>>a[i].cj;
    }
    sort(a+1,a+n+1,cmp1);
    sort(a+1,a+n+1,cmp2);
    cout<<a[m].xh<<" ";
    printf("%.1f",a[m].cj);
    return 0;
}
 


0
已采纳
万睿言
万睿言
初级光能
初级光能

不需要两个排序,用一个排序,cmp函数:

bool cmp(stu a,stu b){
    if(a.score!=b.score)    return a.score>b.score;
    return a.id<b.id;
}

score就是你的cj,id就是你的xh

0
0
单文硕
单文硕
新手光能
新手光能

首先定义一个结构体:

再写一个函数:

主函数定义整型n,m,输入后里面写for循环输入,

再排序再输出a[m].id,保留1位小数输出a[m].sum

加油!!!✧(≖ ◡ ≖✿)

我要回答