蓝桥杯 ADV-193 盾神与条状项链 (试题解析)
试题 算法提高 盾神与条状项链
提交此题 评测记录
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链。当他准备把项链首尾相接的时候,土方进来了。
“哇这么恶心的项链你也做得出来!!!”
盾神自知审美不是他的长项,于是他很谦虚地请教土方,怎么才能把项链做得漂亮。
“这个嘛~首先你要在这里加上一个这种颜色的珠子,然后在这里去掉这个珠子,然后……,最后你看看是不是漂亮很多咧~”土方一下子说出了m个修改步骤。
盾神觉得这个用人工做太麻烦了,于是交给了你。
输入格式
第一行两个数,分别为n,m。
第二行n个数,表示盾神一开始的项链。第i个数表示第i颗珠子的颜色。
接下来m行,为以下形式之一:
ADD P Q:表示在颜色为P的珠子前面加上一个颜色为Q的珠子。
DEL P:表示把颜色为P的珠子去掉,如果它不在端点处,则需要把它旁边的两颗珠子连起来。例如某时刻项链状态为1 4 5 8,则执行DEL 4会变成1 5 8,执行DEL 1会变成4 5 8。
输入保证在每次操作之前,项链有颜色为P的珠子,且任意时刻珠子颜色互不相同。
输出格式
第一行为一个数len,为做完所有操作后,项链的长度。
第二行len个数,表示此时项链的状态。第i个数表示第i颗珠子的颜色。
样例输入
10 5
1 2 3 4 5 6 7 8 9 10
DEL 5
ADD 7 5
DEL 10
ADD 4 20
ADD 20 12
样例输出
11
1 2 3 12 20 4 6 5 7 8 9
数据规模和约定
表示颜色的数字不超过10^5的正数,1<=n<=10^4,1<=m<=10^4。
解题思路:模拟,并巧用C++ STL库的顺序容器list。
代码如下:
#include <iostream>
#include <algorithm>
#include <list>
using namespace std;
list<int> L;
int n,m;
void opt(string ord){
if(ord=="DEL"){
int P;
cin>>P;
list<int>::iterator it;
it=find(L.begin(),L.end(),P);
it=L.erase(it);
}
else if(ord=="ADD"){
int P,Q;
cin>>P>>Q;
list<int>::iterator it;
it=find(L.begin(),L.end(),P);
L.insert(it,Q);
}
}
int main(int argc, char** argv) {
cin>>n>>m;
for(int i=0;i<n;i++){
int a;
cin>>a;
L.push_back(a);
}
for(int i=0;i<m;i++){
string order;
cin>>order;
opt(order);
}
int len=L.size();
cout<<len<<endl;
while(!L.empty()){
int b=L.front();
L.pop_front();
cout<<b<<" ";
}
return 0;
}
蓝桥杯 ADV-193 盾神与条状项链 (试题解析)相关推荐
- 算法笔记_098:蓝桥杯练习 算法提高 盾神与条状项链(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n ...
- [Java] 蓝桥杯ADV-193 算法提高 盾神与条状项链
问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链.当他准备把项链首尾相接的时候,土方进来了. ...
- 蓝桥杯 ADV-193算法提高 盾神与条状项链
问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链.当他准备把项链首尾相接的时候,土方进来了. ...
- 2019第十届蓝桥杯大赛青少年创意编程省赛C++组试题解析
水平有限,如有不当请不吝赐教,万分感谢 水下探测器 水下探测器可以潜入湖中在任意水深进行科学探索. 湖水的最大深度为 h 米,即它在湖底时到水面的距离,0<=h<=100: 探测器最初的水 ...
- 【科技素养题】少儿编程 蓝桥杯青少组科技素养题真题及解析第17套
[科技素养题]少儿编程 蓝桥杯青少组科技素养题真题及解析第17套 1.在阅读文章和接受信息时注意区分事实和观点十分重要.事实(或称为命题)不同于观点的一个主要特征是 A.可以被证实或证伪 B.是准确无 ...
- 2022年第十三届蓝桥杯大赛软件省赛Java学B组试题
第十三届蓝桥杯大赛软件省赛Java学B组试题 一.试题截图 1. 星期计算 这道题是可以直接用笔算起来的,我算出来的答案是5,(2022整除7 余6,六天后就是星期五)但目前官方答案还不知道是什么? ...
- 【计算思维题】少儿编程 蓝桥杯青少组计算思维题真题及解析第2套
少儿编程 蓝桥杯青少组计算思维题真题及解析第2套 1.天平的左右两端分别放有一些砝码,如下图所示,右边的砝码不变,从左边最多拿走几个砝码,可以使天平左右两边平衡 A.1 B.2 C.3 D.4 答案: ...
- 【计算思维题】少儿编程 蓝桥杯青少组计算思维题真题及解析第1套
少儿编程 蓝桥杯青少组计算思维题真题及解析第1套 1.多多观察一个立体图形,从不同的角度看到的形状如下图所示: 这个立体图形可能是 答案:D 考点分析:考查小朋友们的观察能力和推理能力,从前面视角看 ...
- 【科技素养题】少儿编程 蓝桥杯青少组科技素养题真题及解析第19套
少儿编程 蓝桥杯青少组科技素养题真题及解析第19套 1.下列现象中有化学变化发生的是 A.蜡烛融化 B.冰块融化 C.电磁炉烧开水 D.铁生锈 答案:D 考点分析:主要考查小朋友们的物理和化学知识, ...
最新文章
- 项目中常用的 19 条 MySQL 优化总结
- ubuntu安装SSH2
- 利用Python发送短信,用处多多
- root和user切换
- linux ubutu书籍,Ubuntu Linux入门到精通[图书]
- typecho反序列化漏洞复现
- python代码-你见过哪些令你瞠目结舌的 Python 代码技巧?
- xampp mysql关机意外_xampp运行MySQL shutdown unexpectedly解决方法
- 2d isometric 坐标变换
- 学习笔记29--Apollo车辆要求及Apollo支持的传感器
- 更改android模拟器dns,Android模拟器无法联网 模拟器DNS设置
- C语言计算日期间隔天数的经典算法解析
- anaconda无法安装最新版pip
- 新版本七彩影视双端源码+支持三端/对接苹果CMS
- 跟艾文学编程《零基础入门学Python》(4)Python 面向对象
- ARM9嵌入式Linux开发-内存与IO操作
- Point1:STM32根据BRR反推波特率
- 题解-表达式括号匹配
- 东方新山水摄影在好莱坞引起新潮流
- 【选型指南】数字源表/源测量单元/SMU选型的7个重要指标
热门文章
- 【ESP 保姆级教程】疯狂传感器篇 —— 案例:ESP8266 + DHT11 + 自定义微信告警
- Flutter Application 转 Module 嵌入原生 App
- 海盗分金币问题 【转载】
- Spring Boot - Font Awesome OTS parsing error: Failed to convert( Failed to decode downloaded font)
- 《智能控制技术》--谈谈模糊集合鼻祖—扎德的贡献
- 7-12 列车厢调度(25 分)
- 动态规划——背包问题(详解)
- 11.5NOIP模拟赛
- 修改redis端口号启动
- 【以太网数据包】微信数据包