1038. 统计同成绩学生(20)

时间限制
250 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。

输入格式:

输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。

输出格式:

在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。

输入样例:

10
60 75 90 55 75 99 82 90 75 50
3 75 90 88

输出样例:

3 2 0

下面是自己用C++做出的结果,可惜的是运行时间太长
 // 1038.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include<iostream>
#include<algorithm>
#include<vector> using namespace std; int main()
{
int N,grade;
vector<int> v; cin >> N; for (int i = ; i < N; i++)
{
cin >> grade; v.push_back(grade);
} int K; cin >> K; int *q = new int[K]; vector<int>::iterator begin = v.begin(), end = v.end(); for (int i = ; i < K; i++)
{
cin >> q[i]; cout << count(begin, end, q[i]); if (i != K - )
cout << " ";
} delete[] q; return ;
}

将该代码放置到平台后会出现下图所示结果,目测是for循环和count函数组成的双重for循环导致效率较低

没得办法,只能在网上找到一个新的方法,用成绩分数作为数组下标,此方法虽然只用了一重循环解决问题,但是浪费了大量的内存

代码如下

 // 1038_1.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include<iostream> using namespace std; int main()
{
int N, a[] = { },grade,K; cin >> N; for (int i = ; i < N; i++)
{
cin >> grade; a[grade]++;
} cin >> K; for (int i = ; i < K; i++)
{
cin >> grade; cout << a[grade]; if (i != K - )
cout << " ";
} return ;
}

结果就通过了

对比:在数量较小的时候用方法一效果更好,节省内存,一旦数量较多,则第二种较好,寻址方便

PAT 乙级 1038 统计同成绩的学生C++版的更多相关文章

  1. PAT 乙级 1038.统计同成绩学生 C++/Java

    题目来源 本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第 1 行给出不超过 1 的正整数 N,即学生总人数.随后一行给出 N 名学生的百分制整数成绩,中间以空 ...

  2. PAT(B) 1038 统计同成绩学生(C)统计

    题目链接:1038 统计同成绩学生 (20 point(s)) 题目描述 本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式 输入在第 1 行给出不超过 10​5​​ 的正整 ...

  3. PAT Basic 1038 统计同成绩学生 (20 分)

    本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第 1 行给出不超过 1 的正整数 N,即学生总人数.随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔.最 ...

  4. PAT (Basic Level) Practise (中文)-1038. 统计同成绩学生(20)

    PAT (Basic Level) Practise (中文)-1038. 统计同成绩学生(20)    http://www.patest.cn/contests/pat-b-practise/10 ...

  5. PAT 1038 统计同成绩学生(20)(代码)

    1038 统计同成绩学生(20)(20 分) 本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第1行给出不超过10^5^的正整数N,即学生总人数.随后1行给出N名学生 ...

  6. PAT-乙级-1038. 统计同成绩学生(20)

    1038. 统计同成绩学生(20) 时间限制 250 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求读入N名学生的成绩,将 ...

  7. P 1038 统计同成绩学生

    转跳点:

  8. PAT乙级:1077 互评成绩计算 (20分)

    PAT乙级:1077 互评成绩计算 (20分) 在浙大的计算机专业课中,经常有互评分组报告这个环节.一个组上台介绍自己的工作,其他组在台下为其表现评分.最后这个组的互评成绩是这样计算的:所有其他组的评 ...

  9. PAT乙级1038

    题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805284092887040 题解一 这份代码最后一个点会超时 ...

随机推荐

  1. oracle多表查询之内连接,外连接语句总结

    后期会补充建表语句. 现有两张表,westemp员工表,有(wtdempid,wtdempname,wtddeptid)列,westdept部门表,有(wtddeptid,wtddeptname,wt ...

  2. DevExpress WPF入门指南:DXWindow应用

    [DevExpress v17.2 版本更新公开课]点击免费报名 DevExpress WPF Window control有一点非常棒,就是可以和其他视觉主题保持统一性.DXWindow class ...

  3. 【DevExpress v17.2新功能预告】增强ASP.NET TreeList

    本文主要为大家介绍在下一个主要版本v17.2中,DevExpress ASP.NET TreeList获得的一些重大改进.DevExpress ASP.NET TreeList和GridView控件在 ...

  4. JavaScript事件漫谈

    内容概要: event对象,事件在多个浏览器中的兼容,事件的传播机制,JS自定义事件,jQuery的自定义事件的绑定与触发 Event对象 Event对象属于HTML DOM对象.Event 对象代表 ...

  5. UITableViewCell的高度与UILabel自适应

    UITableViewCell内部只放了一个UILabel,Cell的高度随着UILabel内容的高度变化而变化,可重写UITableView的委托方法动态调整高度,还要设置UILabel.numbe ...

  6. JMeter中各种请求格式--aduocd的博客

    背景:1.在JMeter的HTTP请求的测试中,经常会使用到不同的请求格式.常用的格式如,json,form-data,x-www-form-urlencoded,multipart/form-dat ...

  7. HTML5和CSS3阶段,我是如何学习的?

    经过一个月的学习,我收获了许多,今天的测验是做一个企业中文网站,令我自己感到吃惊的是,我前前后后用了4个小时就完成了,这在一个月前根本不可能,因为对布局属性的理解还不够深刻,常常会在调试中浪费大量时间 ...

  8. test20181017 B君的第一题

    题意 分析 考场做法 对p的幂打表发现,我们一定可以把x和y的二进制位从低到高依次调整成0. 具体而言,从0次幂开始每两个分为一组a,b,那么0,a,b,a+b组合中的一种可以将x,y的对应二进制位都 ...

  9. test20181005 序列

    题意 考场30分 维护差值,考虑每次移动的变更,当前2-n位置上的差加1,1位置上的差减n-1. 然后要求的是绝对值的和,用吉司机线段树维护最大最小值.次大次小值. 期望复杂度\(O(n \log n ...

  10. Hadoop操作前准备工作

    摘要:本文介绍Hadoop操作前的准备工作. 关键词:Hadoop  Linux   JDK  WinSCP 俗语说,“磨刀不误砍柴工”.Hadoop操作前的准备工作可以加快Hadoop的操作与应用. ...