等级标准

  1. 掌握数据结构及结构的概念;
  2. 掌握数据结构中的指针和链表;
  3. 掌握数据结构中的栈;
  4. 掌握数据结构中的队列;
  5. 掌握数据结构中的哈希;
  6. 能够使用上述方法编写指定功能的正确完整的程序。

stack or queue

考试题目

栈和队列都是常用的线性结构,它们都提供两个操作:
Push:加入一个元素。
Pop:弹出一个元素。
不同的是,栈是”先进后出”,而队列则是”先进先出”。
给出一个线性结构的进出顺序,判定这个结构是栈还是队列。

时间限制:1000
内存限制:65535

输入
第一行输入一个整数t,代表有t组测试数据 对于每组测试数据,第一行输入一个整数n,代表操作的次数。 随后输入n行,每行包含两个整数 type val。 当type = 1时,表示该次操作为push操作,val表示进入的数字。当type=2时,表示该次操作为pop操作,val代表出来的数字。 3<=n<=2000

输出
每组测试数据输出一行。 输出该组数据对应的线性结构,”Stack” 或者 “Queue”。 题目保证是栈或者队列的一种。

样例输入
2
6
1 1
1 2
1 3
2 3
2 2
2 1
4
1 1
1 2
2 1
2 2

样例输出
Stack
Queue

参考答案

#include<bits/stdc++.h>
using namespace std;int main(){#ifdef LOCALfreopen("202209_6_1.in", "r", stdin);
#endifstack<int> s;queue<int> q;bool bs = true;bool bq = true;int t;scanf("%d", &t);for(int i = 1; i <= t; i++){int n;scanf("%d", &n);bs = true; //堆栈数据是否错误标志位bq = true; //队列数据是否错误标志位for(int j = 1; j <= n; j++){int type, val;scanf("%d%d", &type, &val);if(type == 1){ //pushif(bs == true) s.push(val);if(bq == true) q.push(val);}else if (type == 2){ //popif(s.top()   != val) bs = false; //读取并判断堆栈数据是否正确if(q.front() != val) bq = false;//读取并判断队列数据是否正确if(bs == true) s.pop();if(bq == true) q.pop();}}if(bs == true) printf("Stack\n");if(bq == true) printf("Queue\n");//清理堆栈和队列数据while(!s.empty()) s.pop();while(!q.empty()) q.pop();}return 0;
}

栈的基本操作

考试题目

栈是一种重要的数据结构,它具有push k和pop操作。push k是将数字k加入到栈中,pop则是从栈中取一个数出来。
栈是后进先出的:把栈也看成横向的一个通道,则push k是将k放到栈的最右边,而pop也是从栈的最右边取出一个数。
假设栈当前从左至右含有1和2两个数,则执行push 5和pop操作示例图如下:
push 5 pop
栈 1 2 -------> 1 2 5 ------> 1 2
现在,假设栈是空的。给定一系列push k和pop操作之后,输出栈中存储的数字。若栈已经空了,仍然接收到pop操作,
则输出error。

时间限制:1000
内存限制:65536

输入
第一行为m,表示有m组测试输入,m<100。 每组第一行为n,表示下列有n行push k或pop操作。(n<150) 接下来n行,每行是push k或者pop,其中k是一个整数。 (输入保证同时在栈中的数不会超过100个)
输出
对每组测试数据输出一行。该行内容在正常情况下,是栈中从左到右存储的数字,数字直接以一个空格分隔,如果栈空,则不作输出;但若操作过程中出现栈已空仍然收到pop,则输出error。

样例输入
2
4
push 1
push 3
pop
push 5
1
pop
样例输出
1 5
error

参考答案

#include<bits/stdc++.h>
using namespace std;int main(){#ifdef LOCALfreopen("202209_6_2.in", "r", stdin);
#endifstack<int> s;stack<int> sTmp;int m;scanf("%d", &m);for(int i = 1; i <= m; i++){int n;scanf("%d", &n);      for(int j = 1; j <= n; j++){char type[10];memset(type, 0, sizeof(type));scanf("%s", &type);if(strcmp(type, "push") == 0){int  val;scanf("%d", &val);s.push(val);}else if(strcmp(type, "pop") == 0){if(s.empty()){printf("error\n");break;}s.pop();}}//s堆栈数据倒排到STmp堆栈while(!s.empty()){sTmp.push(s.top());s.pop();}while(!sTmp.empty()){printf("%d ", sTmp.top());sTmp.pop();}printf("\n");}return 0;
}

发型糟糕的一天

考试题目

农夫John 的N(1 ≤ N ≤ 80,000)只奶牛中,有一些也许正在经历发型糟糕的一天。每只奶牛对自己乱糟糟的发型都有自知之明,农夫John想知道所有奶牛能看到其他奶牛头顶的数量之和。
任意奶牛i身高记为 hi (1 ≤ hi ≤ 1,000,000,000),所有奶牛面向东方(本题示意图的右面)依次站成一条线。因此,奶牛i能够看到在它前面的(奶牛i+1,i+2…)所有身高比它低的奶牛,直到被一头比它高的奶牛挡住
考虑如下的例子:
=
= =
= - = Cows facing right ->
= = =
= - = = =
= = = = = =
1 2 3 4 5 6 奶牛#1 可以看见奶牛#2, 3, 4的头顶
奶牛#2 无法看到任何奶牛的头顶
奶牛#3可以看见奶牛#4的头顶
奶牛#4无法看到任何奶牛的头顶
奶牛#5可以看见奶牛#6的头顶
奶牛#6无法看到任何奶牛的头顶!
用ci表示奶牛i能够看到头顶的奶牛个数;请计算c1 至cN的和。对于上面这个例子,其和为:3 + 0 + 1 + 0 + 1 + 0 = 5。

时间限制:2000
内存限制:65536

输入
第1行:奶牛数N
第2行至N+1行:第i+1行包含一个整数,表示奶牛i的高度

输出
第1行:c1 至cN的累加和

样例输入
6
10
3
7
4
12
2

样例输出
5

参考答案

在这里插入代码片

合影效果

考试题目

小云和朋友们去爬香山,为美丽的景色所陶醉,想合影留念。如果他们站成一排,男生全部在左(从拍照者的角度),并按照从矮到高的顺序从左到右排,女生全部在右,并按照从高到矮的顺序从左到右排,请问他们合影的效果是什么样的(所有人的身高都不同)?

时间限制:1000
内存限制:65536

输入
第一行是人数n(2 <= n <= 40,且至少有1个男生和1个女生)。 后面紧跟n行,每行输入一个人的性别(男male或女female)和身高(浮点数,单位米),两个数据之间以空格分隔。

输出
n个浮点数,模拟站好队后,拍照者眼中从左到右每个人的身高。每个浮点数需保留到小数点后2位,相邻两个数之间用单个空格隔开。

样例输入
6
male 1.72
male 1.78
female 1.61
male 1.65
female 1.70
female 1.56

样例输出
1.65 1.72 1.78 1.70 1.61 1.56

参考答案

#include <bits/stdc++.h>
using namespace std;int main()
{int n;scanf("%d", &n);vector<float> Men;vector<float> Women;string gender;float height;for(int i = 1; i <= n; i++){scanf("%f%f", &gender, &height);if (gender == "male"){Men.push_back(height);}else if (gender == "female"){Women.push_back(height);}}sort(Men.begin(), Men.end(), less<float>());  //sort ascendingsort(Women.begin(), Women.end(), greater<float>());  // sort descending for(int i = 0; i < Men.size(); i++){printf(".2f ", Men[i]);}for(int i = 0; i < Men.size(); i++){printf(".2f ", Women[i]);}printf("\n");return 0;
}

青少年软件编程(202209)(C语言)(数据结构)等级考试(六级)试题及参考答案相关推荐

  1. 2022-09-17青少年软件编程(C语言)等级考试试卷(四级)解析

    青少年软件编程(C语言)等级考试试卷(四级) 一.编程题(共4题,共100分) T1.最长上升子序列 一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是 ...

  2. ​​​​​​青少年软件编程(C语言)等级考试试卷目录一览

    ​​​​​​青少年软件编程(C语言)等级考试试卷目录一览   持续更新中...... 2022-12-10   C语言等考一级 T1. 加一    T2. (a/b)*c的值    T3. 判断是否存 ...

  3. 2022. 12 青少年软件编程(C 语言) 等级考试试卷(四级)

    2022年12月青少年软件编程(C 语言) 等级考试试卷(四级) 1.开餐馆 北大信息学院的同 学小明毕业之后打算创业开餐馆 . 现在共有 n 个地点可供选择. 小明打算从中选择合适的位置开设一些餐馆 ...

  4. 2022. 12 青少年软件编程(C 语言) 等级考试试卷(一级)

    2022年12月青少年软件编程(C 语言) 等级考试试卷(一级) 1.加一 输入一个整数 x, 输出这个整数加 1 后的值, 即 x+1 的值. 时间限制: 1 000 内存限制: 65536 输入 ...

  5. 青少年软件编程(C语言) 等级考试试卷(四级)2021年12月

    青少年软件编程(C语言) 等级考试试卷(四级)2021年12月 1.移动路线 题目描述 桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格 ...

  6. 2023-03-18青少年软件编程(C语言)等级考试试卷(一级)解析

    2023-03-18青少年软件编程(C语言)等级考试试卷(一级)解析 T1.字符长方形 给定一个字符,用它构造一个长为4个字符,宽为3个字符的长方形,可以参考样例输出. 时间限制:1000 内存限制: ...

  7. 2022. 12 青少年软件编程(C语言) 等级考试试卷(五级)

    2022. 12 青少年软件编程(C语言) 等级考试试卷(五级) 1.漫漫回国路  2020 年 5 月 , 国际航班机票难求. 一位在美国华盛顿的中国留学生, 因为一些原因必 须在本周内回到北京. ...

  8. 2021-06 青少年软件编程(C语言)等级考试试卷(二级)解析

    2021-06 青少年软件编程(C语言)等级考试试卷(二级)解析 T1.数字放大 给定一个整数序列以及放大倍数x,将序列中每个整数放大x倍后输出. 输入 包含三行: 第一行为N,表示整数序列的长度(N ...

  9. 青少年软件编程(C语言) 等级考试试卷(五级)2021年12月

    青少年软件编程(C语言) 等级考试试卷(五级)2021年12月 1.书架 题目描述 John最近买了一个书架用来存放奶牛养殖书籍,但书架很快被存满了,只剩最顶层有空余. John共有N头奶牛(1 ≤ ...

  10. 2022-09-17青少年软件编程(C语言)等级考试试卷(一级)解析

    青少年软件编程(C语言)等级考试试卷(一级) 一.编程题(共5题,共100分) T1.指定顺序输出 依次输入3个整数a.b.c,将他们以c.a.b的顺序输出. 时间限制:1000 内存限制:65536 ...

最新文章

  1. [linux]windows无法访问samba的安全性问题(关闭selinux)
  2. 超越百度的口罩检测算法
  3. Python简单遍历字典及删除元素的方法
  4. Anaconda——安装与添加 Anaconda Python 免费仓库
  5. python bytes 操作_Python 3:不支持/:“float”和“bytes”的操作数类型
  6. 大二第一学期期末课程设计 2015.12.28
  7. 交公粮了:国庆在家我都逛哪些技术网站?
  8. 2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017)
  9. 04.卷积神经网络 W3.目标检测
  10. Docker图形化工具Portainer
  11. java 自动生成mybatis文件_如何自动生成Mybatis的Mapper文件详解
  12. 微博爬取显示全文_Python爬虫---chrome driver爬取微博(教你几十行代码爬取财宝宝微博长文)...
  13. 防止屏蔽,背投广告代码的完善
  14. eclipse语言包安装后如何进行英语中文切换
  15. OSGB 倾斜摄影数据生产完成后裁剪模型问题
  16. 第二章:minio单机版,使用客户端备份文件
  17. CSS系列之浏览器私有前缀
  18. 企业级微信小程序实战详解
  19. linux重命名文件或文件夹(mv命令 rename命令)
  20. SaaS,PaaS和IaaS在一张图中进行了解释

热门文章

  1. 关于updated()函数没有执行
  2. 超感猎杀/超感八人组第一季至二季/全集Sense8迅雷下载
  3. 视频拍摄技巧——构图
  4. JAVA基于局域网的聊天室系统(源代码+论文)
  5. Python+selenium+360浏览器实现自动测试
  6. 如何测试一个纸杯-----利用引导词整理测试思路
  7. mysql 文本 挖掘_GitHub - cwff520/dianping_textmining: 大众点评评论文本挖掘,包括点评数据爬取、数据清洗入库、数据分析、评论情感分析等的完整挖掘项目...
  8. 干货|FOF资产配置方案全解析
  9. 高校实验室仪器设备管理系统/实验室管理系统
  10. 评论:雨林木风Linux 意义和目的是什么?