蓝桥ACM培训-队列

前言:

  第三天的练习,今天主要与队列queue有关。

正文:

Problem:A 周末舞会-队列:

#include <bits/stdc++.h>
using namespace std;
int m,n,k,tmp1,tmp2;
queue<int>q1,q2;
int main()
{
    cin>>m>>n>>k;
    for(int i=1;i<=m;i++)
        q1.push(i);
    for(int i=1;i<=n;i++)
        q2.push(i);
    while(k--)
    {
        tmp1=q1.front();q1.pop();q1.push(tmp1);
        tmp2=q2.front();q2.pop();q2.push(tmp2);
        printf("%d %d\n",tmp1,tmp2);
    }
    return 0;
}

开两个队列即可。

Problem:B 取牌游戏-队列-SET:

#include <bits/stdc++.h>
using namespace std;
int n,k,p,num,cnt,ans[100010];
queue<int>q;
int main()
{
    cin>>n>>k>>p;
    for(int i=1;i<=k;i++)
        q.push(i);
    while(!q.empty())
    {
        num++;
        int tmp=q.front();q.pop();
        if(num%n==0)ans[cnt++]=tmp;
        for(int i=1;i<=p;i++)
        {q.push(q.front());q.pop();}
    }
    sort(ans,ans+cnt);
    for(int i=0;i<cnt;i++)
    printf("%d\n",ans[i]);
    return 0;
}

找出小明摸出的牌即可,开一个队列来模拟摸牌过程。

Problem:C 报数-队列-约瑟夫环:

#include <bits/stdc++.h>
using namespace std;
queue<int>q;
int main(){
    int n,m,tmp,cnt;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        q.push(i);
    cnt=0;
    while(q.size()>1){
        cnt++;
        tmp=q.front();q.pop();
        if(cnt%m!=0)q.push(tmp);
    }
    printf("%d\n",q.front());
    return 0;
}

同样也是队列模拟。

Problem:D 酒桌游戏-队列:

#include <bits/stdc++.h>
using namespace std;
bool judge(int x){
    if(x%7==0)return 1;
    while(x){
        if(x%10==7)return 1;
        x=x/10;
    }
    return 0;
}
struct people{
	int num;
	string name;
}pep[1009];
queue<people> q;
int main(){
	int n,m,t;
	cin>>n>>m>>t;
	for(int i=1;i<=n;i++){
		cin>>pep[i].name;
		pep[i].num=i;
		q.push(pep[i]);
	}
	for(int i=1;i<=m-1;i++){//调整顺序 
		q.push(q.front());q.pop();
	}
	while(q.size()>1){
		people tmp=q.front();q.pop();
		if(!judge(t))q.push(tmp);
		t++;
	}
	cout<<q.front().name<<endl;
	return 0;
}

和上一题相似,只不过这一题需要使用结构体来进行排序,同时写一个判断是否出局的函数会方便很多。

Problem:E 海港-队列:

#include<bits/stdc++.h>
using namespace std;
int nation[1000009];
struct people{
	int t,x;//来的时间和国籍 
};
queue<people> pep;
people tmp;
int main(){
	int n,t,m,x,ans=0;cin>>n;
	 for(int i=1;i<=n;i++){
	 	cin>>t>>m;
	 	while(!pep.empty()){//检验时间并修正答案 
	 		tmp=pep.front();
	 		if(tmp.t+86400<=t){
	 			nation[tmp.x]--;
	 			if(nation[tmp.x]==0)ans--;
	 			pep.pop();
	 			continue;
			}
			break;//一艘船上的人时间相同 
		}
		for(int o=1;o<=m;o++){//先全部储入 
		 	cin>>x;
		 	tmp.x=x;tmp.t=t;
		 	pep.push(tmp);
		 	nation[x]++;
		 	if(nation[x]==1)ans++;
		}
		cout<<ans<<endl;
	}
}

这道题想了很久,发现船的批次根本没用,我们只需要建立一个结构体包含一个人的到达时间和国籍即可,按输入顺序先把第一批次的人依次储入队列中,再根据下一组的时间更新答案和队列,依次输出即可。

后记:

  不多说,去写其他题了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

飞天使-学以致用-devops知识点2-安装sonarqube

文章目录 安装sonarqube查看暴露出去的端口 生成服务token创建webhook服务创建项目 安装sonarqube apiVersion: apps/v1 kind: Deployment metadata:name: postgres-sonarnamespace: kube-devops spec:replicas: 1selector:matchLabels:app: postgres-sonartemplate:metadata:…

SQL-Labs靶场“29-31”关通关教程

君衍. 一、二十九关 基于错误的WAF单引号注入1、源码分析2、HTTP参数污染3、联合查询注入4、updatexml报错注入 二、三十关 基于错误的WAF双引号注入1、源码分析2、联合查询注入3、updatexml报错注入 三、三十一关 基于错误的WAF双引号括号注入1、源码分析2、联合查询注入3、up…

个人项目介绍2:地球卫星篇

项目需求&#xff1a; 在项目中显示三维地球及主要城市标注&#xff0c;接收服务端发来的实施卫星数据&#xff0c;显示卫星姿态角&#xff0c;陀螺角&#xff0c;飞轮等数据&#xff1b;可自定义模拟产生更多卫星轨迹&#xff1b;可模拟显示卫星躲避陨石动画&#xff1b;可展…

内含资料下载丨黄东旭:2024 现代应用开发关键趋势——降低成本、简化架构

作为一名工程师和创业者&#xff0c;创办 PingCAP 是我进入创新世界的一次深潜。这段旅程既有令人振奋的发现&#xff0c;也充满令人生畏的不确定性。作为这次探险之旅见证的 TiDB &#xff0c;现在已在全球服务超过 3000 家企业&#xff0c;其中有已经实现了商业成功的大公司&…

Canvas笔记03:Canvas元素功能、属性、获取、原理等一文讲透

hello&#xff0c;我是贝格前端工场&#xff0c;最近在学习canvas&#xff0c;分享一些canvas的一些知识点笔记&#xff0c;本期分享canvas元素的知识&#xff0c;欢迎老铁们一同学习&#xff0c;欢迎关注&#xff0c;如有前端项目可以私信贝格。 Canvas元素是HTML5中的一个重…

(二)逻辑回归与交叉熵--九五小庞

什么是逻辑回归 线性回归预测的是一个连续值&#xff0c;逻辑回归给出的“是”和“否”的回答 Singmoid sigmoid函数是一个概率分布函数&#xff0c;给定某个输入&#xff0c;它将输出为一个概率值 逻辑回归损失函数 平方差所惩罚的是与损失为同一数量级的情形&#xff0…

设计模式(十四)中介者模式

请直接看原文: 原文链接:设计模式&#xff08;十四&#xff09;中介者模式_设计模式之中介模式-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- 前言 写了很多篇设计模式的…

浅谈S-VIDEO接口静电浪涌防护

S-Video 接口曾经在一些旧款的电视机、录像机、游戏机等设备上广泛应用&#xff0c;用于传输视频信号。不过&#xff0c;随着技术的发展&#xff0c;S-Video 接口已经逐渐被其他更先进的接口所取代&#xff0c;比如 HDMI、DVI 等。 现在S-video接口广泛应用于电视、监视器、摄…

计算机视觉基础知识(二)---数字图像

像素 像素是分辨率的单位;构成位图图像的最基本单元;每个像素都有自己的颜色; 图像分辨率 单位英寸内的像素点数;单位为PPI(Pixels Per Inch),为像素每英寸;PPI表示每英寸对角线上所拥有的像素数目:,x:长度像素数目,y:宽度像素数目,Z:屏幕大小;屏幕尺寸(大小)指的是对角线长…

文件底层的理解之缓冲区

目录 一、缓冲区的初步认识 二、向文件中写数据的具体过程 三、缓冲区刷新的时机 一、缓冲区的初步认识 缓冲区其实就是一块内存区域&#xff0c;采用空间来换时间&#xff0c;可以提高使用者的效率。我们一直说的缓冲区其实是语言层面上的缓冲区&#xff0c;其实操作系统内部…

YOLOv应用开发与实现

一、背景与简介 YOLO&#xff08;You Only Look Once&#xff09;是一种流行的实时目标检测系统&#xff0c;其核心思想是将目标检测视为回归问题&#xff0c;从而可以在单个网络中进行端到端的训练。YOLOv作为该系列的最新版本&#xff0c;带来了更高的检测精度和更快的处理速…

数据要素:数字化转型中的新“金矿”及其发展潜力

作为一名在数字化转型项目中摸爬滚打的实践者&#xff0c;我们见证了数据从简单的信息处理工具逐渐演变为驱动经济社会发展的关键要素。近日&#xff0c;多部门联合发布的《“数据要素”三年行动计划&#xff08;2024—2026年&#xff09;》更是将数据要素的重要性提升到了新的…

什么是BGP网络 (边界网关协议)

BGP&#xff08;边界网关协议&#xff09;是一种用于在互联网中交换路由信息的协议。作为网关或路由器之间的协议&#xff0c;BGP主要用于帮助确定数据包在网络中的路径。它通过在不同自治系统&#xff08;AS&#xff09;之间交换路径信息&#xff0c;实现了全球互联网网络的连…

linux安装matlab获取许可证

1.点击许可证 2. 3. 4. 4.主机ID 打开linux输入 /sbin/ifconfigether后边的就是 6.计算机登录名 打开linux输入 whoami7. 8. 9.

【zookeeper】在Windows上启动zookeeper

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;软件的安装使用 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 1.下载ZooKeeper&#xff1a; 2.配置ZooKeeper&#xff1a; 3.启动ZooKeeper&#xff1a; 4.关闭ZooKeeper&#xff…

【Matlab深度学习】详解matlab深度学习进行时间序列预测

&#x1f517; 运行环境&#xff1a;Matlab &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 &#x1f510;#### 防伪水印——左手の明天 ####&#x1f510; &#x1f497; 大家…

Power BI vs Superset BI 调研报告

调研结论 SupersetPower BI价格开源①. Power BI Pro 每人 $10/月($120/年/人) ②. Power BI Premium 每人 $20/月($240/年/人) ③. Power BI Embedded:4C10G $11W/年 权限基于角色的访问控制,支持细粒度的访问: 表级别、库级别、图表级别,看板级别,用户级别 基于角色…

黑马点评-商户查询业务

缓存原理 本文的业务就是redis的经典应用&#xff0c;标准的操作方式就是查询数据库之前先查询缓存&#xff0c;如果缓存数据存在&#xff0c;则直接从缓存中返回&#xff0c;如果缓存数据不存在&#xff0c;再查询数据库&#xff0c;然后将数据存入redis。 缓存更新策略 根据…

Node.js(六)-数据库与身份认证

一 、学习目标 ◆ 能够知道如何配置MySQL数据库环境 ◆ 能够认识并使用常见的 SQL语操作数据库 ◆ 能够在Express中操作MySQL数据库 ◆ 能够了解 Session的实现原理 ◆ 能够了解JWT的实现原理 二、数据库的基本概念 1.1 什么是数据库 数据库&#xff08;database&#xff09;…

反编译代码格式处理

反编译代码格式处理 背景解决方案程序跑之后idea格式化 总结 背景 想看看公司里一个工具的代码实现&#xff0c;手里只有一个jar包&#xff0c;只能通过jd-gui反编译代码。但是呢&#xff0c;源码是有了&#xff0c;但是看的很难受。 解决方案 /*** 替换 {code searchDir}中…
最新文章