题解:

需要注意的是,快排完之后并不是按照编号从小到大的顺序输出

#include<iostream>
using namespace std;
int r=0;
void swap(int &a,int &b){
  int t=a;
  a=b;
  b=t;
 }
void sort(int s[],int l,int r,int k[])
{
    int mid=s[(l+r)/2];
    int i=l,j=r;
    do{
        while(s[i]>mid) i++;
        while(s[j]<mid) j--;
        if(i<=j)
        {
            swap(s[i],s[j]);
            swap(k[i],k[j]);
            i++;
            j--;
        }
    }while(i<=j);
    if(l<j) sort(s,l,j,k);
    if(i<r) sort(s,i,r,k);
}
void sort2(int s[],int k[],int i)

 if(k[i]>k[i+1]){
    swap(k[i],k[i+1]);
 }
 r=i+1;
 if(s[r]==s[r+1]){
  sort2(s,k,r);
 }else{
  return;
 }
 if(k[i]>k[i+1]){
    swap(k[i],k[i+1]);
 }
 return ;
}
int main()
{
 int n,m;
 cin>>n>>m;
 int k[n],s[n];
 for(int i=0;i<n;i++){
  cin>>k[i]>>s[i];
 }
 
 sort(s,0,n-1,k);
 
 int ret=m*1.5;
 while(s[ret-1]==s[ret]){
  ret++;
 }
 
//重点是可能循环一次并不能将顺序排正
//其实现在想想,可以只对成绩重复那些人进行一次冒泡排序即可
 int key=1;
 while(key){
  for(int i=0;i<ret;i++){
   if(s[i]==s[i+1]&&k[i]>k[i+1]){
    for(i;i<ret;i++){
     if(s[i]==s[i+1]){
      sort2(s,k,i);
      i=r;
     }
    }
    break;
   }
   if(i==ret-1){
    key=0;
   }
  }
 }
 
 cout<<s[ret-1]<<" "<<ret<<endl;
 for(int i=0;i<ret;i++){
  cout<<k[i]<<" "<<s[i]<<endl;
 }
 return 0;
}

(排序)P1068 分数线划定的更多相关文章

  1. 洛谷——P1068 分数线划定

    P1068 分数线划定 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据 ...

  2. 洛谷 P1068 分数线划定

    P1068 分数线划定 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据 ...

  3. luogu P1068 分数线划定 x

    P1068 分数线划定 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据 ...

  4. 洛谷P1068 分数线划定:sort结构体排序+贪心

    题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试. 面试分数线根据计划录取人数的150%划定, ...

  5. 洛谷 P1068 分数线划定【结构体排序】

    题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据计划录取人数的150%划 ...

  6. 洛谷 P1068 分数线划定【排序+模拟】

    世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,AA市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据计划录取人数的150\%150%划 ...

  7. c++之洛谷P1068分数线划定

    这是个排序题,做题过程中对sort的理解加深了不少,记下来避免忘记. 题目来源:https://www.luogu.org/problemnew/show/P1068 题目描述 世博会志愿者的选拔工作 ...

  8. (sort)P1068 分数线划定 洛谷

    题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,AA市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据计划录取人数的150\% ...

  9. 洛谷 P1059明明的随机数 & P1068分数线划定 & P1781宇宙总统

    题目:https://www.luogu.org/problemnew/show/P1059 思路:STL中的set使用. //#include<bits/stdc++.h> #inclu ...

随机推荐

  1. Pytorch dataset自定义【直播】2019 年县域农业大脑AI挑战赛---数据准备(二),Dataset定义

    在我的torchvision库里介绍的博文(https://www.cnblogs.com/yjphhw/p/9773333.html)里说了对pytorch的dataset的定义方式. 本文相当于实 ...

  2. BOM--location对象、history对象

    location对象 location 是最有用的BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能. 事实上,location 对象是很特别的一个对象,因为它既是win ...

  3. Day3-I-Squares POJ2002

      A square is a 4-sided polygon whose sides have equal length and adjacent sides form 90-degree angl ...

  4. html css3

    一.引入样式 1.行内样式表 <h1 style="color: red;font-size: 18px;">10-30</h1> 2.内部样式表(在hea ...

  5. Linux学习《第五章用户文件权限管理》之补充学习

  6. P1092 最好吃的月饼

    1092 最好吃的月饼 (20分)   月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种. 若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给 ...

  7. Mozilla Firefox 将获得包含 Tor 模式的扩展组件

    据外媒报道,Firefox 浏览器可能很快就会收到一个 Tor 模式的附加组件,它将通过连接 Tor 网络显著增强隐私功能.虽然 Mozilla 和 Tor 团队的最终目标是在浏览器上实现完整功能的 ...

  8. jsp中include的两种用法

    JSP中的include的两种用法 1.两种用法 <%@ include file=” ”%> <jsp:include page=” ” flush=”true”/> 2.用 ...

  9. 官方关于Dialog的介绍

    将Activity显示成Dialog的形式: Tip: If you want a custom dialog, you can instead display an Activity as a di ...

  10. 采用FLAG_ACTIVITY_CLEAR_TOP退出整个程序(多activity)

    问题: 多activity中退出整个程序,例如从A->B->C->D,这时我需要从D直接退出程序. 网上资料:{ finish()和system(0)都只能退出单个activity. ...