Time Limit: 1 second

Memory Limit: 128 MB

【问题描述】

说起测试计算机的软件,排在第一位的就应当是SuperPi 了。它不但能良好的体现机器的整体水平,而且还很小巧,更令人惊讶

的是它是一款绿色软件!SuperPi 的成绩是用毫秒计算的,如果时间越短说明成绩越好。大家都经常会把自己的SuperPi 成绩发

布到网上,以和别人比较,当然也是为了炫耀自己的机器。这样,有些网站就要对大家的成绩进行排序并输出,另外一些技术比

较完善的网站就会提供成绩查询的功能。现在,你就要完成这样一个查询程序。

现在提供每个人的用户名、成绩,需要你将成绩排序并根据用户输入的排名输出对应的用户名和成绩。

【输入格式】

第一行是一个正整数n,表示用户的个数。

接下来的n 行每行有一个字符串和一个小数,第i 行是编号为i-1 的人的信息,中间用一个空格分隔,字符串代表用户名(只能由大

、小写字母,数字和下划线组成),小数代表该人的成绩,每行的首尾不会有多余的空格。

然后是一个正整数m,表示查询的次数。

接下来m 行是每一次查询的信息,每行一个实数k。

【输出格式】

对应每一个数k,你都要输出用时为k 的人的用户名及排名(一个正整数),中间用一个空格分隔,如果没有符合条件的人的话就输

出”No Such User”(没有两边的引号)。 【数据范围】 对于10%数据,n≤100,m≤100。

对于30%数据,n≤100000,m≤100。

对于100%数据,n≤100000,m≤1000。

对于100%数据,每个人的成绩各不相同且都小于10^9,有效位数最多为9 位,小数点后最多三位;每个人的用户名都不相同;k 的范

围和每个人成绩的范围相同;每个人的用户名长度不超过10 个字节。

【说明】

输入的成绩和查询的成绩只要值相同就算相等,如123.1 与123.100 是同一个数。

Sample Input

5

sqybi 123.345

Core2_Duo 20.203

Vista123 100

o 100.001

0987654321 987654321

2

100.0

123.346

Sample Output

Vista123 2

No Such User

【题目链接】:http://noi.qz5z.com/viewtask.asp?id=t043

【题解】



把输入的数据按照成绩升序排一下就好

1.200

和1.20

直接用==号比较就可以了;

在询问的时候写个二分就好;



【完整代码】

#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#include <vector>
#include <stack>
#include <string>
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pp push_back
#define fi first
#define se second using namespace std; typedef pair<int,int> pii;
typedef pair<LL,LL> pll; void rel(LL &r)
{
r = 0;
char t = getchar();
while (!isdigit(t) && t!='-') t = getchar();
LL sign = 1;
if (t == '-')sign = -1;
while (!isdigit(t)) t = getchar();
while (isdigit(t)) r = r * 10 + t - '0', t = getchar();
r = r*sign;
} void rei(int &r)
{
r = 0;
char t = getchar();
while (!isdigit(t)&&t!='-') t = getchar();
int sign = 1;
if (t == '-')sign = -1;
while (!isdigit(t)) t = getchar();
while (isdigit(t)) r = r * 10 + t - '0', t = getchar();
r = r*sign;
} //const int MAXN = x;
const int dx[5] = {0,1,-1,0,0};
const int dy[5] = {0,0,0,-1,1};
const double pi = acos(-1.0);
const int MAXN = 1e5+100; struct abc
{
char s[20];
double t;
}; int n,m;
abc a[MAXN]; bool cmp(abc a,abc b)
{
return a.t < b.t;
} int main()
{
//freopen("F:\\rush.txt","r",stdin);
rei(n);
rep1(i,1,n)
scanf("%s%lf",a[i].s,&a[i].t);
sort(a+1,a+1+n,cmp);
rei(m);
rep1(i,1,m)
{
double x;
scanf("%lf",&x);
int l = 1,r = n,ans = -1,mid;
while (l <= r)
{
mid = (l+r)>>1;
if (a[mid].t==x)
{
ans = mid;
break;
}
else
if (a[mid].t<x)
l = mid+1;
else
r = mid-1;
}
if (ans == -1)
puts("No Such User");
else
printf("%s %d\n",a[mid].s,mid);
}
return 0;
}

【t043】成绩查询的更多相关文章

  1. PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询

    伴随微信的红火,微信公众平台成为许多开发者的下一个目标.笔者本身对于这种新鲜事物没有如此多的吸引力.但是最近有朋友帮忙开发微信公众平台中一个成绩查询的功能.于是便在空余时间研究了一番. 主要的实现步骤 ...

  2. 暑假闲着没事第一弹:基于Django的长江大学教务处成绩查询系统

    本篇文章涉及到的知识点有:Python爬虫,MySQL数据库,html/css/js基础,selenium和phantomjs基础,MVC设计模式,ORM(对象关系映射)框架,django框架(Pyt ...

  3. C语言 · 成绩查询系统

    抱歉,昨天忘了往博客上更新,今天补上. 成绩查询系统 分值: 21 数学老师小y 想写一个成绩查询系统,包含如下指令: insert [name] [score],向系统中插入一条信息,表示名字为na ...

  4. C语言程序设计#成绩查询系统

    学生成绩管理系统 [注释]:请点赞,好人一生平[yi]安[wo]. #codeblocks程序下编写 #include<stdio.h>#include<stdlib.h>// ...

  5. [WUSTCTF2020]颜值成绩查询-1

    分享下自己在完成[WUSTCTF2020]颜值成绩查询-1关卡的手工过程和自动化脚本. 1.通过payload:1,payload:1 ,payload:1 or 1=1--+,进行判断是否存在注入, ...

  6. 数据结构_成绩查询_cjcx

    问题描述 录入 n 个学生的成绩,并查询.★数据输入第一行输入包括 n. m(1<=n<=50,000,1<=m<=100,000)两个数字.接下来 n 行,每行包含名字和成绩 ...

  7. Oracle数据库按属性成绩查询

    create or replace function bb return nvarchar2as-----------自定义游标类型type class_student is record( snam ...

  8. 关于学生成绩查询的几个SQL语句

    数据库有三个字段,名字.学科.成绩,如图 1. 找出每科成绩最高的学生的名字与分数 2.找出总分最高的学生名字与总分 3.找出三科成绩均大于80分的学生

  9. 在Android上模拟登录广工正方教务系统查询成绩

    这是在博客园里开博以来写的第一篇博客. 因为之前看过很多人都有发过关于模拟登录正方软件获取数据的文章,自己觉得挺好玩的便也去动手一做,开始还以为挺难的,但实际做起来还蛮简单的,当然其中还有些小插曲. ...

随机推荐

  1. Trafodion:Transactional SQL on HBase

    Trafodion: Transactional SQL on HBase HBase上实时分布式事务处理 介绍 HBase的SQL能力一直不足.Phoenix缺乏Join能力,eBay提出的kyli ...

  2. js-YDUI 移动端解决方案

    /** * YDUI 可伸缩布局方案 * rem计算方式:设计图尺寸px / 100 = 实际rem 例: 100px = 1rem */ !function (window) { /* 设计图文档宽 ...

  3. mysql-5.7.19-winx64服务无法启动解决方案

    解压mysql压缩包时没有data文件夹,不要手动创建,在cmd下直接运行命令: mysqld –initialize-insecure,data文件夹会自动生成,注意单词千万不要拼错,不要写成–in ...

  4. Android DiskLruCache全然解析,硬盘缓存的最佳方案

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/28863651 概述 记得在非常早之前.我有写过一篇文章Android高效载入大图. ...

  5. 4. Vue-Resource / axios 异步插件

    安装 cnmp i vue-resource --save (--save 安装到dependencies下) 引用 <script src="node_modules/vue-res ...

  6. jdk目录详解及其使用方法

    jdk目录详解 jdk目录详解 JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境.它由一个处于操作系统层之上的 ...

  7. 洛谷—— P1118 [USACO06FEB]数字三角形Backward Digit Su…

    https://www.luogu.org/problem/show?pid=1118#sub 题目描述 FJ and his cows enjoy playing a mental game. Th ...

  8. [D3] Animate Transitions in D3 v4

    D3 makes it easy to add meaningful animations to your data visualizations. Whether it’s fading in ne ...

  9. python 深浅拷贝 进阶

    主要理解新与旧究竟在哪里 这样也就理解了 深浅拷贝 先说说赋值,事实上python中的赋值事实上是赋值了一个引用.比如: foo1=1.0 foo2=foo1 用操作符is推断时.你能够发现结果是tr ...

  10. amazeui-datatables(登录注册界面用到)

    amazeui-datatables(登录注册界面用到) 一.总结 amazeui-datatables:DataTables 插件 Amaze UI 集成,只修改了样式和默认显示语言,其他参数同官方 ...