• 题目一:(wyyx)

小W有一个电子时钟用于显示时间,显示的格式为HH:MM:SS,HH,MM,SS分别表示时,分,秒。其中时的范围为[‘00’,‘01’…‘23’],分的范围为[‘00’,‘01’…‘59’],秒的范围为[‘00’,‘01’…‘59’]。

但是有一天小W发现钟表似乎坏了,显示了一个不可能存在的时间“98:23:00”,小W希望改变最少的数字,使得电子时钟显示的时间为一个真实存在的时间,譬如“98:23:00”通过修改第一个’9’为’1’,即可成为一个真实存在的时间“18:23:00”。修改的方法可能有很多,小W想知道,在满足改变最少的数字的前提下,符合条件的字典序最小的时间是多少。其中字典序比较为用“HHMMSS”的6位字符串进行比较。

输入描述:

每个输入数据包含多个测试点。每个测试点后有一个空行。 第一行为测试点的个数T(T<=100)。 每个测试点包含1行,为一个字符串”HH:MM:SS”,表示钟表显示的时间。

输出描述:

对于每个测试点,输出一行。如果钟表显示的时间为真实存在的时间,则不做改动输出该时间,否则输出一个新的”HH:MM:SS”,表示修改最少的数字情况下,字典序最小的真实存在的时间。

输入例子1:

2
19:90:23
23:59:59

输入例子1:

19:00:23
23:59:59

解题代码:

#include<iostream>  //注意引入头文件
#include<string>
#include<vector>using namespace std; //必须有,否则会bool isOk(const string& s)会报错的,具体原因不知道。bool isOk(const string& s){//因为字符位的第2位,第5位,是":",故不作考虑if (s[0] < '2' && s[0] >= '0');else return false;if (s[0] == '2' && s[1] <= '3');else return false;if(s[3] >= '0' && s[3] <= '5');else return false;if(s[4] >= '0' && s[4] <= '9');else return false;if(s[6] >= '0' && s[6] <= '5');else return false;if(s[7] >= '0' && s[7] <= '9');else return false;return true;
}void changeTime(string &str){//str[4],str[7]的取值范围本来就是0到9(因为是时间,除了0~9不可能是其他字符比如a,b之类的),故这里不做考虑if(str[0] > '2') str[0] = '0';if(str[0] == '2' && str[1] >'3') str[0] = '0';if(str[3] > '5') str[3] = '0';if(str[6] > '5') str[6] = '0';
}int main(){int n;scin >> n; //注意输入写法while(n--){string s;cin >> s;if( isOk(s) ) cout << s << endl; //注意输出写法else{changeTime(s);cout << s << endl;}}system("pause");  //注意这一行必须加return 0;}

问题:为什么要加using namespace std; 这句话?


  • 题目二(wyyx)

小云正在参与开发一个即时聊天工具,他负责其中的会话列表部分。

会话列表为显示为一个从上到下的多行控件,其中每一行表示一个会话,每一个会话都可以以一个唯一正整数id表示。

当用户在一个会话中发送或接收信息时,如果该会话已经在会话列表中,则会从原来的位置移到列表的最上方;如果没有在会话列表中,则在会话列表最上方插入该会话。

小云在现在要做的工作是测试,他会先把会话列表清空等待接收信息。当接收完大量来自不同会话的信息后,就输出当前的会话列表,以检查其中是否有bug。

输入描述:

输入的第一行为一个正整数T(T<=10),表示测试数据组数。
接下来有T组数据。每组数据的第一行为一个正整数N(1<=N<=200),表示接收到信息的次数。第二行为N个正整数,按时间从先到后的顺序表示接收到信息的会话id。会话id不大于1000000000。

输出描述:

对于每一组数据,输出一行,按会话列表从上到下的顺序,输出会话id。
相邻的会话id以一个空格分隔,行末没有空格。

输入例子1:

3
5
1 2 3 4 5
6
1 100 1000 1000 100 1
7
1 6 3 3 1 8 1

输出例子1:

5 4 3 2 1
1 100 1000
1 8 3 6

代码:

#include <iostream>
#include <map>
#include <vector>using namespace std;int main(){int n,m;cin >> n;vector<vector<int>> v(n);vector<vector<int>> rRes;//将输入放入v中for(int i = 0; i < n; i++){cin >> m;v[i].resize(m);for(int j = 0; j < m; j++){cin >> v[i][j];      }}//将输出放入rResfor(int i = 0; i < n; i++){vector<int> vTmp;map<int, int> mp; for(int j = v[i].size() - 1; j >= 0; j++){if(mp[v[i][j]] == 0){ //查询此key值在map里是否不存在mp[v[i][j]] = 1;vTmp.push_back(v[i][j]);}rRes.push_back(vTmp);}    }//开始输出for(int i = 0; i < n; i++){for(int j = 0; j < rRes[i].size() -1; j++){cout << rRes[i][j] << ' ';}cout << rRes[i][rRes[i].size()] << endl; //最后一个拆开,因为要添加endl.}system("pause"); //这一行必须加return 0;}

注意点:

  1. vector的使用
  2. map的使用
  3. cout 最后的一个字符是要在最后单独使用

编程题——真题训练一(WYYX)相关推荐

  1. 历届蓝桥杯青少年编程选拔赛 科技素养题真题讲解 STEMA评测比赛真题解析【持续更新 已更新至18套】

    信息素养(科技素养)的重要性 教育部等多个部门多次发文强调中小学生信息素养的重要性,而且已经纳入到新课标里面:要提升学生信息素养.各地要指导和推动中小学按照国家课程方案和课程标准开齐开足开好信息技术课 ...

  2. 【计算思维题】少儿编程 蓝桥杯青少组计算思维题真题及解析第2套

    少儿编程 蓝桥杯青少组计算思维题真题及解析第2套 1.天平的左右两端分别放有一些砝码,如下图所示,右边的砝码不变,从左边最多拿走几个砝码,可以使天平左右两边平衡 A.1 B.2 C.3 D.4 答案: ...

  3. Scratch编程-画图模块13【寿光市青少年创意编程大赛真题】

    上节课带领大家一起做了蓝桥杯scrtch画图题真题, 今天带大家看一下来自2021年9月18日寿光市青少年创意编程大赛画图题真题. 先来看一下题目的要求 准备工作: (1)保留默认小猫角色,隐藏角色; ...

  4. 【科技素养题】少儿编程 蓝桥杯青少组科技素养题真题及解析第17套

    [科技素养题]少儿编程 蓝桥杯青少组科技素养题真题及解析第17套 1.在阅读文章和接受信息时注意区分事实和观点十分重要.事实(或称为命题)不同于观点的一个主要特征是 A.可以被证实或证伪 B.是准确无 ...

  5. 【计算思维题】少儿编程 蓝桥杯青少组计算思维题真题及解析第1套

    少儿编程 蓝桥杯青少组计算思维题真题及解析第1套 1.多多观察一个立体图形,从不同的角度看到的形状如下图所示: 这个立体图形可能是  答案:D 考点分析:考查小朋友们的观察能力和推理能力,从前面视角看 ...

  6. 山西专升本C语言编程题真题

    山西专升本C语言编程题真题 2010年 2011年 2012年 2013年 2014年 2015年 2016年 2017年 2018年 2019年 2020年 所有代码为博主本人思路,并非标准答案,仅 ...

  7. 【科技素养题】少儿编程 蓝桥杯青少组科技素养题真题及解析第19套

    少儿编程 蓝桥杯青少组科技素养题真题及解析第19套 1.下列现象中有化学变化发生的是  A.蜡烛融化 B.冰块融化 C.电磁炉烧开水 D.铁生锈 答案:D 考点分析:主要考查小朋友们的物理和化学知识, ...

  8. Python计算机二级编程题真题及考点总结(上篇)

    文章目录 一.前言 二.考纲/考试方式 三.编程题详解 3.1 基本操作题-真题 3.2 基本操作题-考点总结 3.2.1 考点一:基本输入输出函数 3.2.2 考点二.三:程序的控制结构和数据类型 ...

  9. Python计算机二级编程题真题及考点总结【纯干货】(下篇)

    文章目录 一.前言 二.编程题详解 2.1 简单应用题 2.1.1 简单应用题-真题 2.1.2 简单应用题-考点总结 考点一:turtle库绘图 考点二:数据类型处理相关 2.2 综合应用题 考点三 ...

  10. 网易 2019 秋季校园招聘编程题真题集合

    网易 2019 秋季校园招聘编程题真题集合 第一题 俄罗斯方块 问题描述 小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块.因为它比较古老,所以规则和一般的俄罗斯方块不同. 荧幕上一共有 n 列, ...

最新文章

  1. Go 学习笔记(44)— Go 标准库之 os(获取文件状态、获取/修改文件权限、创建、删除目录和文件、获取进程ID、设置获取环境变量)
  2. 适合做生物信息的笔记本推荐
  3. stm32 文件系统dma大小_「正点原子NANO STM32F103开发板资料连载」第二十二章 DMA 实验...
  4. 计算机教学实验操作环境,一种基于虚拟机的个性化计算机实验教学环境.pdf
  5. Mybatis传入参数类型为Map
  6. 测试集没标签,可以拿来测模型吗?
  7. 网页如何做到适应在手机上浏览
  8. mysql-------流程控制结构
  9. gc android,Android GC Log解读
  10. 手机日志抓取工具及注意事项
  11. 档案查询系统php,档案信息管理系统 v2.0
  12. php7.0项目在本地完美运行上传至服务器手机app不显示数据
  13. oracle中分号和双引号用法,深入理解oracle中单引号与双引号的用法区别
  14. python猜词游戏演讲ppt_Python 猜词游戏–多步骤猜词+评分系统
  15. 关于钓鱼网站的实现原理与技术
  16. plotly绘制简单图形4--饼形图
  17. 2021直播电商下半场,“网易严选们”为何成主播良港?
  18. 【二叉树】根据后续和中序遍历输出前序遍历 [建树+非建树做法]
  19. 软件测试入门篇(五)测试点提炼
  20. 种植韭黄时如何保障韭黄口感?资产监测设备可以帮助你!

热门文章

  1. JavaScript实现浏览器本地的图像移动、大小调整和裁剪
  2. steam饥荒服务器为什么显示未响应,《饥荒:联机版》服务器卡顿原因分析及解决教程...
  3. OpenGL ES EGL eglCreateContext
  4. 小程序如何隐藏滚动条
  5. 1138: C语言合法标识符 C语言
  6. 成为会带团队的技术人 跨团队:没有汇报线的人和事就是推不动?
  7. zabbix微信报警
  8. a java exception has occured java
  9. 矩阵计算在计算机科学中,开发者必读:计算机科学中的线性代数
  10. NDK OpenGL ES 3.0 开发(五):FBO 离屏渲染