当前位置: 首页 > article >正文

P11043 [蓝桥杯 2024 省 Java B] 分布式队列(c++)

题目描述

小蓝最近学习了一种神奇的队列:分布式队列。简单来说,分布式队列包含 𝑁N 个节点(编号为 0 至 𝑁−1,其中 0 号为主节点),其中只有一个主节点,其余为副节点。主、副节点中都各自维护着一个队列,当往分布式队列中添加元素时都是由主节点完成的(每次都会添加元素到队列尾部);副节点只负责同步主节点中的队列。可以认为主/副节点中的队列是一个长度无限的一维数组,下标为 0,1,2,3,…,同时副节点中的元素的同步顺序和主节点中的元素添加顺序保持一致。

由于副本的同步速度各异,因此为了保障数据的一致性,元素添加到主节点后,需要同步到所有的副节点后,才具有可见性。

给出一个分布式队列的运行状态,所有的操作都按输入顺序执行。你需要回答在某个时刻,队列中有多少个元素具有可见性。

输入格式

第一行包含一个整数 𝑁,表示节点个数。

接下来包含多行输入,每一行包含一个操作,操作类型共有以下三个:add、sync 和 query,各自的输入格式如下:

  1. add element:表示这是一个添加操作,将元素 𝑒𝑙𝑒𝑚𝑒𝑛𝑡element 添加到队列中;

  2. sync follower_id:表示这是一个同步操作,𝑓𝑜𝑙𝑙𝑜𝑤𝑒𝑟_𝑖𝑑follower_id 号副节点会从主节点中同步下一个自己缺失的元素;

  3. query:查询操作,询问当前分布式队列中有多少个元素具有可见性。

输出格式

对于每一个 query 操作,输出一行,包含一个整数表示答案。

输入输出样例

输入 #1复制

3
add 1
add 2
query
add 1
sync 1
sync 1
sync 2
query
sync 1
query
sync 2
sync 2
sync 1
query

输出 #1复制

0
1
1
3

#include<bits/stdc++.h>
using namespace std;
const int N=20;
int queuex[N];
int n;
int query(){
	int result=queuex[0];
for(int i=1;i<n;i++){
	if(queuex[i]<result)
	result=queuex[i];
}
return result;
}
int main(){
	int m;
	char s[1000];
cin>>n;
while(cin>>s)
if(strcmp(s,"add")==0){
	cin>>m;
queuex[0]++;
}
else if(strcmp(s,"sync")==0){
	cin>>m;
if(queuex[m]<=queuex[0])
queuex[m]++;
}
else {
	cout<<query()<<endl;
}
return 0;
} 

这题用的是模拟


http://www.kler.cn/a/502696.html

相关文章:

  • 第423场周赛:检测相邻递增子数组 Ⅰ、检测相邻递增子数组 Ⅱ、好子序列的元素之和、统计小于 N 的 K 可约简整数
  • 基于springboot+vue的 嗨玩-旅游网站
  • WPF 如何添加系统托盘
  • E10.【C语言】练习:编写一个猜数字游戏
  • WINFORM - DevExpress -> devexpress版--报表(report)
  • 大语言模型的稀疏性:提升效率与性能的新方向
  • 个人曾经ARM64_汇编角度_PLTHOOK的研究
  • 深入探讨 Vue.js 的动态组件渲染与性能优化
  • Windows11下OpenCV最新版4.11源码编译
  • 字符串算法篇——字里乾坤,算法织梦,解构字符串的艺术(上)
  • ros2笔记-6.2 使用urdf创建机器人模型
  • Qiskit快速编程探索(基本篇)
  • 深入浅出 Android AES 加密解密:从理论到实战
  • Android 15应用适配指南:所有应用的行为变更
  • 【深度学习基础与pytorch基础】特征与标签
  • 六十九:基于openssl实战验证RSA
  • 大疆机场及无人机上云
  • Maven中的dependencyManagement和dependencies
  • 【初识扫盲】厚尾分布
  • 利用 Python 爬虫获取 1688 商品评论的实践指南
  • 基于Python(Django)+SQLite3实现的(Web)资产管理系统
  • C++内存泄露排查
  • Go Ebiten小游戏开发:井字棋
  • Postgres14.4(Docker安装)
  • 【数据分析】一、初探 Numpy
  • 服务器引导异常,Grub报错: error: ../../grub-core/fs/fshelp.c:258:file xxxx.img not found.