蓝桥杯 算法提高 盾神与条状项链
问题描述
有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为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。
用vector模拟链表,进行插入和删除,但是这样做用的时间将会增多。
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
using namespace std;int main()
{int n,m;vector <int> vec;char str[10];while(scanf("%d%d",&n,&m) != EOF){for(int i = 0; i < n; i++){int x;scanf("%d",&x);vec.push_back(x);}while(m--){int a,b,i;scanf("%s",str);if(str[0] == 'A'){scanf("%d%d",&a,&b);for(i = 0; i < vec.size(); i++)if(vec[i] == a){vec.insert(vec.begin()+ i,b);break;}}else{scanf("%d",&a);for(i = 0; i < vec.size(); i++)if(vec[i] == a){vec.erase(vec.begin()+i);break;}}}printf("%d\n",vec.size());for(int i = 0; i < vec.size(); i++){if(i != vec.size()-1)printf("%d ",vec[i]);elseprintf("%d",vec[i]);}printf("\n");}return 0;
}
蓝桥杯 算法提高 盾神与条状项链相关推荐
- 算法笔记_098:蓝桥杯练习 算法提高 盾神与条状项链(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n ...
- [Java] 蓝桥杯ADV-193 算法提高 盾神与条状项链
问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链.当他准备把项链首尾相接的时候,土方进来了. ...
- 蓝桥杯 ADV-193算法提高 盾神与条状项链
问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链.当他准备把项链首尾相接的时候,土方进来了. ...
- 蓝桥杯 ADV-193 盾神与条状项链 (试题解析)
试题 算法提高 盾神与条状项链 提交此题 评测记录 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成 ...
- [蓝桥杯][算法提高VIP]Sharing Chocolate(状压dp记忆化搜索)
题目描述 每天,巧克力在它的许多形式上被全世界数百万人分享.它是一个真正普遍的糖果,实际上在世界上每个国家都能得到. 你发现唯一比吃巧克力更好的事情是把它分享给朋友.不幸的是,你的朋友非常挑剔,有着不 ...
- [蓝桥杯][算法提高VIP]夺宝奇兵-递推+记忆化搜索
题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...
- [蓝桥杯][算法提高VIP]夺宝奇兵-dp
题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...
- c语言oj题1923偶数之和,问题 1923: [蓝桥杯][算法提高VIP]学霸的迷宫 (BFS)
题目描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫.因为班长还有妹子要陪,磨刀不 ...
- 算法提高 盾神与积木游戏
算法提高 盾神与积木游戏 时间限制:1.0s 内存限制:256.0MB 问题描述 最近的m天盾神都去幼儿园陪小朋友们玩去了~ 每个小朋友都拿到了一些积木,他们各自需要不同数量的积木来拼一些他们 ...
- JAVA 蓝桥杯 算法提高 阮小二买彩票
JAVA 蓝桥杯 算法提高 阮小二买彩票 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电 ...
最新文章
- Robot 3D Map Navigation
- 使用Prometheus和Grafana实现SLO
- 基片集成波导原理_图解分析:华为1:8 PLC分光器及石英基板集成波导光功率分配器...
- 解决TypeError: Tensor is unhashable if Tensor equality is enabled. Instead, use tensor.experimental_re
- JAVA并发编程: CAS和AQS
- 安卓-04-实例01-XML布局UI界面
- MySQl Got a packet bigger than ' max_allowed_packet' bytes
- mysql三高教程(二):2.7 如何约束数据
- 使用Jquery+CSS如何创建流动导航菜单-Fluid Navigation
- 使用select和show命令查看mysql数据库系统信息
- win10安装MySql教程
- WinMap+ | 稳马企业金服基于C4B理论的绿色金融生态区块链探索
- 互亿无线短信接口开发
- vs2003在win7+后pdb锁住报LNK1201解决方案
- 电脑网速,别把宽带浪费了,一招提升电脑网速
- 2011—2019年软考中级数据库系统工程师历年真题
- spring静态资源配置
- 360锁屏壁纸在哪个文件夹
- TDA4VM PDK应用笔记
- 大数据分析实战之异构数据源联合分析业务创新实践