uva540

   题目的意思大概就是现在让你做一个数据结构,具体的应该是一个队列,有一堆元素,这堆元素拥有两个特性,一是它的值,二是它所在的team值。这个队列满足以下的一些性质(操作)。

     ENQUEUE(k) : 将元素k插入队列,如果队列中有跟元素k一个team的,则自动插到那个元素的后面,否则插至队列尾。

     DEQUEUE:弹出队首元素,并且输出

     STOP:停止所有操作

     本题我的大致思路就是用二维队列,队列里套队列,我们很容易知道这个队列满足一个特性就是抱团性,一个team的都在一起,那么用二维数组的思想可以直接给他们一个特定的下标来约束这个team,然后至于这个team内部怎么排,那是这个team自己的事了,对于每个team建立一个普通的queue来维护它,那么输出时是先按大顺序后小顺序弹出就行了

  

#include <cstdio>
#include <cstring>
#include <iostream>#define MAXN 1010using namespace std;
struct Queue {int f , r;int ele[MAXN];
}que[MAXN];
int T , n , front , rear , Case = 0;
int h[MAXN*MAXN];
int line[MAXN];void    init() {Case ++;cout << "Scenario #" << Case << endl;memset(h,0,sizeof(h));memset(que,0,sizeof(que));memset(line,-1,sizeof(line));
}void    enqueue(int num) {if (line[h[num]] < 0) {line[h[num]] = rear;que[rear].ele[que[rear++].r++] = num;if (rear > T) rear = rear % T;}else que[line[h[num]]].ele[que[line[h[num]]].r++] = num;
}void    dequeue() {cout << que[front].ele[que[front].f++] << endl;if (que[front].f == que[front].r) {line[h[que[front].ele[que[front].f-1]]] = -1;que[front].f = que[front].r = 0;memset(que[front].ele,0,sizeof(que[front].ele));front ++;if (front > T) front = front % T;}
}int main () {string str;while (cin >> T) {if (!T) break; init();int k;front = rear = 0;for (int i = 0;i < T;i++) {cin >> n;for (int j = 0;j < n;j++) {cin >> k;h[k] = i;}}while (cin >> str && str != "STOP") {if (str == "ENQUEUE") {cin >> k;enqueue(k);}else dequeue();}cout << endl;}return 0;
}

   最终测试结果

   

转载于:https://www.cnblogs.com/Wiki-ki/archive/2012/07/14/2591373.html

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

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

相关文章

Python面试题大全(五):测试、大数据、数据结构、架构

目录 测试 213.编写测试计划的目的是 214.对关键词触发模块进行测试 215.其他常用笔试题目网址汇总 216.测试人员在软件开发过程中的任务是什么 217.一条软件Bug记录都包含了哪些内容&#xff1f; 218.简述黑盒测试和白盒测试的优缺点 219.请列出你所知道的软件测试种类…

【决策】Waymo无人出租车年底发射,现已进入定价环节 | 公交部门竟成友军?...

开车栗 发自 凹非寺量子位 出品 | 公众号 QbitAI按照Waymo的计划&#xff0c;今年年底之前&#xff0c;他们的无人出租车服务就要进入市场了。现在&#xff0c;无人的士已进入了定价环节&#xff0c;紧张刺激。Waymo希望从此开始&#xff0c;人类能一点一点抛弃私家车&#xff…

盘点那些具有“爆款”潜力的智能家居产品

来源&#xff1a;OFweek 摘要&#xff1a;智能家居已经火了有一段时间&#xff0c;然而目前真正普及的家庭并不多。从长远来看&#xff0c;智能家居是一种更环保、智能、舒适、安全的人居环境&#xff0c;它涉及物联网、人工智能等相关技术&#xff0c;是人们理想的一种生活方式…

圆圈中最后剩下的数字

题目&#xff1a;n个数字&#xff08;0,1,…,n-1&#xff09;形成一个圆圈&#xff0c;从数字0开始&#xff0c;每次从这个圆圈中删除第m个数字&#xff08;第一个为当前数字本身&#xff0c;第二个为当前数字的下一个数字&#xff09;。当一个数字删除后&#xff0c;从被删除数…

TCP/IP校验和(浅析+实例)

校验和的作用   按照协议的规定&#xff0c;报文到达每一层&#xff0c;首先验证校验和是否正确&#xff0c;丢弃掉不正确的报文&#xff0c;再才会进行后续操作。  那么校验和是怎么计算的呢&#xff1f;  校验和的计算方法(以 IP 首部中的校验和为例) 方法是计算16位的二…

4位数学家获得2018年菲尔兹奖

来源&#xff1a;科学网2018年菲尔兹奖8月1日在巴西里约热内卢市举行的第28届国际数学家大会上揭晓&#xff0c;获奖者为伊朗裔数学家Caucher Birkar、意大利数学家Alessio Figalli、德国数学家Peter Scholze&#xff0c;以及印澳裔数学家Akshay Venkatesh。4位获奖者对数学领域…

ASP.NET GridView控件在列上格式化时间

症状&#xff1a;在GridView绑定日期格式的时候&#xff0c;数据库中的日期为2008-07-04&#xff0c;而GridView显示的是2007-07-04 000000。、 解决办法&#xff1a;想把这后面这多余的零去掉的话在绑定时间的那一列源码后面加上一句话就可以了&#xff0c;如下红色的部分 <…

spark-submit 参数设置

在使用spark时&#xff0c;根据集群资源情况和任务数据量等&#xff0c;合理设置参数&#xff0c;包括但不限于以下&#xff1a; 参数说明masteryarn E-MapReduce 使用 Yarn 的模式yarn-client&#xff1a;等同于 –-master yarn —deploy-mode client&#xff0c; 此时不需要…

科学研究发现,盲人用时间感知空间

来源&#xff1a;中国科学报摘要&#xff1a;在书籍和电影中&#xff0c;盲人通常用超敏感的听力帮助他们在现实世界中穿梭。在书籍和电影中&#xff0c;盲人通常用超敏感的听力帮助他们在现实世界中穿梭。但是&#xff0c;8月1日发表在iScience杂志上的一项研究表明&#xff0…

SharePoint创建web application的时候报错

今天在SharePoint Server上创建一个web application的时候报错了。 The password supplied with the username ***\*** was not correct. Verify that it was entered correctly and try again. 我之前是改过administrator的密码,但确实用stsadm.exe -o updatefarmcredentials…

传输层(学习笔记)

传输层基本概念&#xff1a; 传输层负责端与端之间的数据传&#xff0c;主要有两大知识点&#xff1a;TCP和UDP 五元组 在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看); 端口号范…

随机读写 vs 顺序读写

磁盘是如何存储数据的&#xff1f; 信息存储在硬盘里&#xff0c;把它拆开也看不见里面有任何东西&#xff0c;只有些盘片。假设&#xff0c;你用显微镜把盘片放大&#xff0c;会看见盘片表面凹凸不平&#xff0c;凸起的地方被磁化&#xff0c;凹的地方是没有被磁化&#xff1b…

C# 析构函数(Destructor)和终结器(Finalizer)——托管资源的释放

本文内容 使用析构函数释放资源 Object.Finalize 方法 资源的显式释放 使用析构函数释放资源 析构函数用于析构类的实例。 不能在结构中定义析构函数。只能对类使用析构函数。 一个类只能有一个析构函数。 无法继承或重载析构函数。 无法调用析构函数。它们是被自动调用的。 析…

教育部:建设100+AI特色专业, 500万AI人才缺口要补上!

来源&#xff1a;网络大数据摘要&#xff1a;为落实《国务院关于印发新一代人工智能发展规划的通知》&#xff0c;为我国新一代人工智能发展提供战略支撑&#xff0c;教育部在近日正式发布了《高等学校人工智能创新行动计划》。AI再次被提上国家级日程!为落实《国务院关于印发新…

TCP三次握手详解及面试题

为什么必须是三次握手&#xff1f; 大家都知道传输层&#xff08;点击这里去传输层&#xff09;中的TCP协议是面向连接的&#xff0c;提供可靠的连接服务&#xff0c;其中最出名的就是三次握手和四次挥手&#xff0c;今天先讲解三次握手&#xff08;四次挥手点这里&#xff09;…

git 撤销修改:未push 、已push

场景&#xff1a;不小心把一次错误的代码push到远程服务器上的分支上&#xff0c;需要立即删除/撤销这次代码提交。 具体方法&#xff0c;git命令&#xff1a; git loggit reset --hard <commit_id>git push origin HEAD --force【命令详解】 获取commit_id&#xff1…

跳过堡垒机,一键登陆

使用场景&#xff1a; 在登陆公司堡垒机时&#xff0c;一般需要个人密码动态密码&#xff08;常为OTP密码&#xff09;&#xff0c;本文通过自动生成OTP密码实现一键登录。 如果是静态密码&#xff0c;跳过第一步&#xff0c;第二步去掉动态密码部分 第一步&#xff1a;获取…

一条光纤的传输容量高达 661Tbps(附论文)

来源&#xff1a;云头条摘要&#xff1a;研究人员将全世界目前的光纤容量塞入到一条链路中。社会对数据的渴求永无止境。事实上&#xff0c;想想这个就令人相当惊讶&#xff1a;平均的互联网流量是每秒几百兆兆位&#xff0c;耗电量约占我们发电量的8%。这一切用来传输猫咪即时…