分数线划定【题目链接】

这道题也不是什么难题,思路一带而过吧:

SOLUTION:

First.输入n,m,计算m*1.5的值,接着输入编号和成绩,然后我的做法是在输入编号成绩之后,开一个101大小的数组来记录某个分数段的人数(因为分数是0~100所以才敢这么干qwq大了就怂了)。

Second.使用最简单好用的sort进行排序,按照成绩从高到低排,如果成绩相同,编号小的在前面。

Third.进行分数线划定,这里喜欢用while(不会用for写这个的说),首先我们先选择恰为计划录取人数的150%(下取整)的人数,然后要注意的是每选择一个人就把这个人所代表的分数的d数组--;

然后计算到第m个人时,如果第m个人所对应的d数组不为0,那么说明还有相同分数的没有被选上,因此用当前记录到的cnt+=d[p[cnt].s];

Last.输出(这个不必多说)


自我感觉今天考场上写的代码比洛谷上交的思路要好(至少思路清晰)

附代码:

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath> using namespace std; int n,m,cnt;
int d[];
struct node {
int k,s;
}p[]; bool cmp(node x,node y){
if(x.s==y.s) return x.k<y.k;
return x.s>y.s;
} int main(){
scanf("%d %d",&n,&m);
m*=1.5;
for(int i=;i<=n;i++)
scanf("%d %d",&p[i].k,&p[i].s),d[p[i].s]++;
sort(p+,p+n+,cmp);
while(cnt<=m){
if(cnt==m) break;
cnt++;
d[p[cnt].s]--;
}
if(d[p[cnt].s]!=) cnt+=d[p[cnt].s];
cout<<p[cnt].s<<" "<<cnt<<endl;
for(int i=;i<=cnt;i++)
cout<<p[i].k<<" "<<p[i].s<<endl;
return ;
}
#include<bits/stdc++.h>

using namespace std;

int n,m,cnt[],ans,sor,r;
struct node{
int k,s;
}p[]; bool cmp(node x,node y){
if(x.s==y.s) return x.k<y.k;
return x.s>y.s;
} int main(){
scanf("%d %d",&n,&m);
int jh=m*1.5;
for(int i=;i<=n;i++)
scanf("%d %d",&p[i].k,&p[i].s),cnt[p[i].s]++;
sort(p+,p+n+,cmp);
for(int i=;i<=n;i++){
if(ans+>jh) break;
if(p[i-].s==p[i].s) r++;
if(p[i-].s!=p[i].s) r=; ans++;
sor=p[i].s;
}
if(cnt[sor]!=r) ans+=(cnt[sor]-r);
cout<<sor<<" "<<ans<<endl;
for(int i=;i<=ans;i++)
cout<<p[i].k<<" "<<p[i].s<<endl;
}

Luogu Code

end-

【6.18校内test】T2分数线划定的更多相关文章

  1. NOIP2009分数线划定【B004】

    [B004]分数线划定[难度B]—————————————————————————————————————————————————————————————————————————— [题目要求] 世博 ...

  2. NOIP200902分数线划定

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

  3. 2.18比赛(T2,T3留坑)

    2.18比赛(T2,T3留坑) pdf版题面 pdf版题解 超越一切(ak) [题目描述] 夏洛可得到一个(h+1)×(w+1)的巧克力,这意味着她横着最多可 以切 h 刀,竖着最多可以切 w 刀 她 ...

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

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

  5. zufeoj 分数线划定

    分数线划定 时间限制: 1 Sec  内存限制: 128 MB提交: 13  解决: 7[提交][状态][讨论版] 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A ...

  6. 洛谷 P1068 分数线划定

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

  7. luogu P1068 分数线划定 x

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

  8. [NOIP2009普及]分数线划定 T2 排序

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

  9. 18清明校内测试T2

    一道数论好题(math) Time Limit:1000ms   Memory Limit:128MB 题目描述 rsy最近在研究欧几里得算法,不会的同学可以去看下课件以及代码…… 现在她想到了一个新 ...

随机推荐

  1. Qt修改图片的背景色及设置背景色为透明的方法

    先上干货. Qt下修改图片背景色的方法: 方法一: QPixmap CKnitWidget::ChangeImageColor(QPixmap sourcePixmap, QColor origCol ...

  2. TTTTTTTTTTTTTTTTTT hdu 1800 字符串哈希 裸题

    题意:意思是有若干个飞行员,需要在扫帚上练习飞行,每个飞行员具有不同的等级,且等级高的飞行员可以当等级低的飞行员的老师,且每个飞行员至多有且只有一个老师和学生.具有老师和学生关系的飞行员可以在同一把扫 ...

  3. 洛谷P1576 最小花费x

    题目背景 题目描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元 ...

  4. HGOI 20190519 题解

    脑补了一下今天的比赛难度和之前zju-lzw出的题目画风迥异. 难度完全不是一个水平的好伐. Probem A palindrome 给出一个$n$个元素的数组,可以任意指定一个数字$m$让所有$a_ ...

  5. Spark指标项监控

    监控配置 spark的监控主要分为Master.Worker.driver.executor监控.Master和Worker的监控在spark集群运行时即可监控,Driver和Excutor的监控需要 ...

  6. Spring Boot使用阿里云证书启用HTTPS

    1.到阿里云下载证书页面下载证书 2.根据页面内容,可以使用2种证书:PFX JKS 把对应证书放到src/main/resources目录下 在application.properties文件中加入 ...

  7. JavaScript 函数相关属性

    1.name 既函数名 function test(){ console.log("Haha") }; console.log(test.name)//test 2.length属 ...

  8. 【Spark机器学习速成宝典】模型篇03线性回归【LR】(Python版)

    目录 线性回归原理 线性回归代码(Spark Python) 线性回归原理 详见博文:http://www.cnblogs.com/itmorn/p/7873083.html 返回目录 线性回归代码( ...

  9. PHP CI框架数据库常用操作

    例子 <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Menu extends CI_Co ...

  10. UVa 699 The Falling Leaves(递归建树)

    UVa 699 The Falling Leaves(递归建树) 假设一棵二叉树也会落叶  而且叶子只会垂直下落   每个节点保存的值为那个节点上的叶子数   求所有叶子全部下落后   地面从左到右每 ...