蓝桥杯day6队列-3.3

目录

1.约瑟夫环

1.注意!q.push(q.front());

2.机器翻译

3.小桥的神秘礼盒

4.餐厅排队



1.约瑟夫环

今天学习了队列的STL写法,来试试这个题。

#include<bits/stdc++.h>
using namespace std;int main() {int n,m;cin>>n>>m;queue<int> q;for(int i=1; i<=n; i++) {q.push(i); //通过一个循环将数字 1 到 n 依次入队到队列 q 中}while(!q.empty()) {for(int i=1; i<m; i++) { //重复m-1次q.push(q.front()); //将队列的第一个元素移动到队列的末尾,此时队首元素还在,相当于只是将和队首元素相同的一个元素加入了队尾q.pop(); //将队列首元素出队}cout<<q.front()<<" "; //到了第m个,即要出列的元素 //输出队列前面的元素(即当前被淘汰的人)q.pop(); //将其从队列中移除}cout<<endl;return 0;
}

1.注意!q.push(q.front());

//将队列的第一个元素移动到队列的末尾,此时队首元素还在,相当于只是将和队首元素相同的一个元素加入了队尾


2.机器翻译

0机器翻译 - 蓝桥云课 (lanqiao.cn)

#include <bits/stdc++.h>
using namespace std;
bool hashtable[1003]; //全局变量,自动初始化为0。 0代表不在内存中
int main() {queue<int> q; //定义队列qint ans=0; //函数内部的变量,需要手动初始化为0。ans代表最终结果,即要去外存找多少次int m,n; //m代表内存容量,n代表文章的长度cin>>m>>n;for(int i=0; i<n; i++) {int x;cin>>x;if(hashtable[x]==false) { //如果x不在内存中if(q.size()<m) { //如果队列的元素的个数<m,说明还能放下至少一个q.push(x); //直接吧x放进去(插入队尾)} else {hashtable[q.front()]=false; //如果队列的第一个元素不在内存中q.pop(); //删除这个队首元素q.push(x); //把x插入到队尾}hashtable[x]=true; //把x标为在内存中,别忘了!ans++; //查询外存的次数+1}}cout<<ans<<endl; //输出结果return 0;
}

 用一个哈希表hashtable[]模拟内存,若hashtable[x]=true,表示x在内存中,否则不在内存中。用队列queue对输入的单词排队,当内存超过M时,删除队头的单词。

摘自罗老师的这篇博客:

<蓝桥杯软件赛>零基础备赛20周--第6周--数组和队列-CSDN博客


3.小桥的神秘礼盒

0小桥的神秘礼物盒 - 蓝桥云课 (lanqiao.cn)

主要问题是,如何处理1 x。

可以不一次性输入啊就是先判断第一个输入的是1,再去输入要加入队列的数x。

#include <bits/stdc++.h>
using namespace std;int main() {int n,key,x;queue<int> q;cin>>n;for(int i=0; i<n; i++) {cin>>key;if(key==1) {cin>>x;q.push(x);}if(key==4) {cout<<q.size()<<endl;}if(q.empty()) {if(key==2) {cout<<"lan"<<endl;}if(key==3) {cout<<"qiao"<<endl;}} else {if(key==2) {q.pop();}if(key==3) {cout<<q.front()<<endl;}}}return 0;
}


4.餐厅排队

0餐厅排队 - 蓝桥云课 (lanqiao.cn)

#include <bits/stdc++.h>
using namespace std;
int main() {queue<int> qu;int q,m,x;cin>>q;for(int i=0; i<q; i++) {cin>>m;if(m==1) {cin>>x;qu.push(x);}if(!qu.empty()) {if(m==2) {qu.pop();}if(m==3) {cout<<qu.front()<<" "<<qu.back()<<endl;}}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解读电影级视频生成模型 MovieFactory

Diffusion Models视频生成-博客汇总 前言:MovieFactory是第一个全自动电影生成模型,可以根据用户输入的文本信息自动扩写剧本,并生成电影级视频。其中针对预训练的图像生成模型与视频模型之间的gap提出了微调方法非常值得借鉴。这篇博客详细解读一下这篇论文《MovieFactory:…

基于uniapp cli项目开发的老项目,运行报错path.replace is not a function

项目&#xff1a;基于uniapp cli的微信小程序老项目 问题&#xff1a;git拉取代码&#xff0c;npm安装包时就报错&#xff1b; cnpm能安装成功包&#xff0c;运行报错 三种方法尝试解决&#xff1a; 更改代码&#xff0c;typeof pathstring的话&#xff0c;才走path.replace…

稀疏数组实现

博文主要是自己学习的笔记&#xff0c;供自己以后复习使用&#xff0c; 参考的主要教程是B站的 尚硅谷数据结构和算法 稀疏数组(sparse array) 实际需求&#xff1a;五子棋程序中的存盘退出和续上盘的功能 问题分析&#xff1a; 如果直接用二维数组&#xff0c;很多值是默认…

定时执行专家V7.1 多国语言版本日文版发布 - タスク自動実行ツールV7.1 日本語版リリース

◆ 软件介绍  ソフトの紹介 《定时执行专家》是一款制作精良、功能强大、毫秒精度、专业级的定时任务执行软件。软件具有 25 种【任务类型】、12 种【触发器】触发方式&#xff0c;并且全面支持界面化【Cron表达式】设置。软件采用多线程并发方式检测任务触发和任务执行&…

前端性能优化 | CDN缓存

前言 CDN&#xff08;Content Delivery Network&#xff09;是一种分布式的网络架构&#xff0c;通过在全球各地部署节点服务器来快速传输和分发网络内容。CDN的主要目标是提供快速、可靠的内容传输&#xff0c;以提升用户体验。 本文主要从以下方面讲解CDN 什么是CDNCDN的作…

解决Git报错:fatal: detected dubious ownership in repository at

在通过 Git Bash 提交项目代码时输入 git add . 命令后&#xff0c;报错&#xff1a;fatal: detected dubious ownership in repository at 这是因为该项目的所有者与现在的用户不一致 比如说&#xff1a; 该项目的所有者是 Administrator&#xff0c;而当前用户是 YuYang, 那…

java 初始化流程?

Java类的初始化流程是指在类被加载到内存并且链接完成后&#xff0c;执行类的初始化操作的过程。在Java中&#xff0c;类的初始化是在以下情况下触发的&#xff1a; 创建类的实例&#xff1a;当使用new关键字创建类的实例时&#xff0c;会触发类的初始化。 访问类的静态成员&a…

外贸常用的出口认证 | 全球外贸数据服务平台 | 箱讯科技

出口认证是一种贸易信任背书&#xff0c;对许多外贸从业者而言,产品的出口认证和当前的国际贸易环境一样复杂多变&#xff0c;不同的目标市场、不同的产品类别,所需要的认证及标准也不同。 国际认证 01 IECEE-CB IECEE-CB体系的中文含义是“关于电工产品测试证书的相互认可体…

数据库-第六/七章 关系数据理论和数据库设计【期末复习|考研复习】

前言 总结整理不易&#xff0c;希望大家点赞收藏。 给大家整理了一下数据库系统概论中的重点概念&#xff0c;以供大家期末复习和考研复习的时候使用。 参考资料是王珊老师和萨师煊老师的数据库系统概论(第五版)。 文章目录 前言第六章 关系数据理论6.1 规范化6.2 范式6.3 规范…

C#,入门教程(26)——数据的基本概念与使用方法

上一篇&#xff1a; C#&#xff0c;入门教程(25)——注释&#xff08;Comments&#xff09;你会吗&#xff1f;看多图演示&#xff0c;学真正注释。https://blog.csdn.net/beijinghorn/article/details/124681888 本文所述的知识基本上适用于C/C&#xff0c;java等其他语言。 …

2575. 找出字符串的可整除数组

2575. 找出字符串的可整除数组 题目链接&#xff1a;2575. 找出字符串的可整除数组 代码如下&#xff1a; class Solution { public:vector<int> divisibilityArray(string word, int m) {vector<int> res;long long num0;for(int i0;i<word.size();i){num(nu…

vue 2 和 vue 3 在自定义组件中如何使用v-model

vue2自定义事件 前言&#xff1a; 众所周知 vue2 中v-model其实就是 :value“val” input“(e) > {val e.target.value}” 的语法糖&#xff0c;所以只要理解了他其实就是语法糖就好处理了 父组件 <template><div><div>父组件</div><Sun v-mo…

基础算法(五)(进制转换)

1.进制的本质 对于一个十进制数字&#xff0c;比如说153&#xff0c;其本质是每一个数位上的数字乘上这一位上的权重&#xff0c;即&#xff1a;153&#xff08;110^2&#xff09;&#xff08;510^1&#xff09;&#xff08;310^0&#xff09; 而二进制&#xff0c;只不过是把…

LVS集群 ----------------(直接路由 )DR模式部署

一、LVS集群的三种工作模式 lvs-nat&#xff1a;修改请求报文的目标IP,多目标IP的DNAT lvs-dr&#xff1a;操纵封装新的MAC地址&#xff08;直接路由&#xff09; lvs-tun&#xff1a;隧道模式 lvs-dr 是 LVS集群的 默认工作模式 NAT通过网络地址转换实现的虚拟服务器&…

在分布式环境中使用状态机支持数据的一致性

简介 在本文中&#xff0c;我们将介绍如何在分布式系统中使用transaction以及分布式系统中transaction的局限性。然后我们通过一个具体的例子&#xff0c;介绍了一种通过设计状态机来避免使用transaction的方法。 什么是数据库transaction Transaction是关系型数据普遍支持的…

java SSM流浪宠物救助与领养myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM流浪宠物救助与领养管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系…

安卓Java面试题21-30

🔥 21、AsyncTask使用在哪些场景?它的缺陷是什么?如何解决?🔥 AsyncTask 运用的场景就是我们需要进行一些耗时的操作,耗时操作完成后更新主线程,或者在操作过程中对主线程的UI进行更新。 缺陷: AsyncTask中维护着一个长度为128的线程池,同时可以执行5个工作线程,还…

Fragment

1.网格视图(随便插进来一条) 2.Fragment

谷歌开源的LLM大模型 Gemma 简介

相关链接&#xff1a; Hugging face模型下载地址&#xff1a;https://huggingface.co/google/gemma-7bGithub地址&#xff1a;https://github.com/google/gemma_pytorch论文地址&#xff1a;https://storage.googleapis.com/deepmind-media/gemma/gemma-report.pdf官方博客&…

Linux——文件标识符

目录 一、文件基础 二、常见的C语言文件接口 三、系统文件接口 四、理解语言与系统文件操作的关系 五、如何理解一切皆文件 六、文件标识符再理解 一、文件基础 一个空文件&#xff0c;也会占用磁盘空间&#xff0c;这是因为文件不仅仅有存放在里面的内容&#xff0c;还…