NYOJ595乱七八糟好坑的水题~~
乱七八糟
- 描述
-
一天,PIAOYI查看班级成绩时发现各种乱七八糟的数据,有点晕……但是他现在非常想知道排名情况,你能帮帮他吗?为了让问题简化,只给出n个同学的总成绩,然后需要你对所有同学的总成绩进行排名(从高到低)然后询问m次,每次询问的是总成绩排名是第xi名的同学有多少个?注意:1)总成绩相等的同学排名是一样的,并列一个名次。2)若排名在x同学前面的成绩有并列的,在对x排名时,要加上并列的同学.说的可能有些模糊,没关系,来个例子大家就明白了比如8个同学的成绩依次是:100 90 90 85 80 80 70 60他们的成绩排名依次是 1 2 2 4 5 5 7 8 ,明白了吧,亲.
- 输入
- 有多组测试数据,以EOF结束。
每组测试数据包含三行:第一行,输入n(0<=n<=100),m(0<=m<=n),第二行依次输入n个正整数Ai,分别代表n个同学的总成绩,第三行依次输入m个正整数,分别代表查询的名次。
- 输出
- 对于每组测试数据,请依次输出m次查询的结果。每个结果占一行。
- 样例输入
-
4 4
89 79 60 79
1 2 3 4
8 5
90 90 100 85 80 80 70 60
1 2 3 5 7 - 样例输出
-
1
2
0
1
1
2
0
2
1
不难看懂题目意思,可就是代码该怎么写呢,,本来不难,但忽略了一种情况,结果耽误了一天。。。。
其实核心代码部分也就
x=1;
for(i=n-1; i>=0;)
{
if(a[i]==a[i-1])
{
x++,i--;//如果不懂i--为什么在这,举几个样例就明白了;
continue;
}
else
aa[n-i-x+1]=x,x=1;
i--;
}//这就是我想出的技巧核心,但坑点不在这里;
下面来看具体代码;
#include<bits/stdc++.h>
using namespace std;
int a[105],aa[500],b[105];
int main()
{
int n,m,i,x;
while(~scanf("%d%d",&n,&m))
{
memset(aa,0,sizeof(aa));
for(i=0; i<n; i++)
scanf("%d",&a[i]);
for(i=0; i<m; i++)
scanf("%d",&b[i]);
sort(a,a+n);
a[-1]=-1;//这里就是坑点所在,如果a[-1]不这样赋值,就可能有成绩为0的同学,排序后就会出现紊乱;
x=1;
for(i=n-1; i>=0;)
{
if(a[i]==a[i-1])
{
x++,i--;
continue;
}
else
aa[n-i-x+1]=x,x=1;
i--;
}
for(i=0; i<m; i++)
printf("%d\n",aa[b[i]]);
}
return 0;
}
NYOJ595乱七八糟好坑的水题~~的更多相关文章
- 2013 吉林通化邀请赛 Tutor 有点坑的水题
计算12个数的和的平均数.四舍五入,不能有后导0. 我的做法是,将答案算出后,乘以1000,然后看个位是否大于等于5,判断是否要进位…… #include<iostream> #inclu ...
- HDU 5832 A water problem (带坑水题)
A water problem 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5832 Description Two planets named H ...
- Acdream 1111:LSS(水题,字符串处理)
LSS Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 128000/64000 KB (Java/Others) SubmitStati ...
- fzuoj Problem 2182 水题
http://acm.fzu.edu.cn/problem.php?pid=2182 Problem 2182 水题 Accept: 188 Submit: 277Time Limit: 100 ...
- codeforces 696A Lorenzo Von Matterhorn 水题
这题一眼看就是水题,map随便计 然后我之所以发这个题解,是因为我用了log2()这个函数判断在哪一层 我只能说我真是太傻逼了,这个函数以前听人说有精度问题,还慢,为了图快用的,没想到被坑惨了,以后尽 ...
- 2019浙大校赛--J--Extended Twin Composite Number(毒瘤水题)
毒瘤出题人,坑了我们好久,从基本的素数筛选,到埃氏筛法,到随机数快速素数判定,到费马小定理,好好的水题做成了数论题. 结果答案是 2*n=n+3*n,特判1,2. 以下为毒瘤题目: 题目大意: 输入一 ...
- HDU--Elevator(水题)
Elevator nid=24#time"> Time Limit: 1000ms Memory limit: 32768K 有疑问?点这里^_^ 题目描写叙述 The high ...
- UVa 12342 Tax Calculator (水题,纳税)
今天在uva看到一个水题,分享一下. 题意:制定纳税的总额,有几个要求,如果第一个180000,不纳,下一个300000,纳10%,再一个400000,纳15%,再一个300000,纳20%,以后的纳 ...
- 每日一刷(2018多校水题+2016icpc水题)
11.9 线段树 http://acm.hdu.edu.cn/showproblem.php?pid=6315 求逆序对个数 http://acm.hdu.edu.cn/showproblem.php ...
随机推荐
- 在 Windows 7 中禁用IPv6协议/IPv6隧道
How to disable certain Internet Protocol version 6 (IPv6) components in Windows Vista, Windows 7 and ...
- Java GUI 布局管理器
容器可设置布局管理器,管理容器中组件的布局: container.setLayout(new XxxLayout()); Java有6种布局管理器,AWT提供了5种: FlowLayout Borde ...
- hihocoder1744 hohahola
思路: 二分. 实现: #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll INF = ...
- canvas画饼图
<style> body { background: black; text-align: center; } #cans { background: white; } ...
- 十个 JDBC 的最佳实践
JDBC是Java为多种关系型数据库提供的统一的访问接口,以下是我长期使用JDBC总结的十个最佳实践. 1. 使用PrearedStatement 任何一个使用过JDBC的Java程序员几乎都知道这个 ...
- Android掌中游斗地主游戏源码完整版
源码大放送-掌中游斗地主(完整版),集合了单机斗地主.网络斗地主.癞子斗地主等,有史以来最有参考价值的源码,虽然运行慢了一点但是功能正常,用的是纯java写的. 项目详细说明:http://andro ...
- COGS 74. [NOIP2006] 明明的随机数 (Splay小练习。。)
☆ 输入文件:random.in 输出文件:random.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 明明想在学校中请一些同学一起做一项问卷调查,为了 ...
- ML-学习提纲2
https://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/ http://blog.csdn.net/u0110 ...
- OFDM、FTTx、SCTP、Ad Hoc、WSN术语简介
上课提到一些术语,下来查了一下,总结在这里. OFDM: OFDM(Orthogonal Frequency Division Multiplexing)即正交频分复用技术,实际上OFDM是MCM(M ...
- (一)VMware Harbor 简介
(一)Harbor简介 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docker Distribu ...