2015北京网络赛B题 Mission Impossible 6
借用大牛的一张图片:
模拟
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<memory.h>
#include<cstdlib>
#include<vector>
using namespace std;
const int MAXN=;
const double eps=1e-;
const int inf=0x3f3f3f3f; string s,ss,cs;
vector<int>pos;
int mode;
int now,m;
void L()
{
if(now>)
now--;
} void R()
{
if(now<ss.length())
now++;
} void S()
{
mode=!mode;
pos.clear();
}
void C()
{
pos.push_back(now);
if(pos.size()==)
{
sort(pos.begin(),pos.end());
cs=ss.substr(pos[],pos[]-pos[]);
pos.clear();
}
}
void D()
{
if(pos.size())
{
pos.push_back(now);
sort(pos.begin(),pos.end());
ss.erase(ss.begin()+pos[],ss.begin()+pos[]);
now=pos[];
pos.clear();
}
else if(now<ss.length())
{
ss.erase(ss.begin()+now,ss.begin()+now+);
}
} void B()
{
if(now>)
{
ss.erase(ss.begin()+now-,ss.begin()+now);
now--;
}
pos.clear();
} void V()
{
if(cs.length())
{
if(!mode)
{
if(ss.length()+cs.length()<=m)
{
int len=cs.length();
for(int i=; i<len; i++,now++)
{
ss.insert(ss.begin()+now,cs[i]);
}
}
}
else
{
if(now+cs.length()+<=m)
{
int len1=cs.length();
int len2=ss.length();
for(int i=; i<len1; i++,now++)
{
if(now>=len2)
ss.insert(ss.begin()+now,cs[i]);
else
ss[now]=cs[i];
}
}
}
}
pos.clear();
} int main()
{
int T;
scanf("%d",&T);
while(T--)
{
cin>>m>>s;
int len=s.length();
mode=;
now=;
ss.clear();
cs.clear();
pos.clear();
for(int i=; i<len&&m; i++)
{
if(s[i]=='L')
L();
else if(s[i]=='R')
R();
else if(s[i]=='C')
C();
else if(s[i]=='V')
V();
else if(s[i]=='D')
D();
else if(s[i]=='B')
B();
else if(s[i]=='S')
S();
else
{
if(mode&&now<ss.length())
{
ss[now++]=s[i];
}
else if(ss.length()<m)
{
ss.insert(ss.begin()+now,s[i]);
now++;
}
pos.clear();
}
}
if(ss.size())
{
cout<<ss<<endl;
}
else
cout<<"NOTHING"<<endl;
}
return ;
}
2015北京网络赛B题 Mission Impossible 6的更多相关文章
- 2015北京网络赛 G题 Boxes bfs
Boxes Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingonl ...
- 2015北京网络赛 H题 Fractal 找规律
Fractal Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingo ...
- hihocoder 1236(2015北京网络赛 J题) 分块bitset乱搞题
题目大意: 每个人有五门课成绩,初始给定一部分学生的成绩,然后每次询问给出一个学生的成绩,希望知道在给定的一堆学生的成绩比这个学生每门都低或者相等的人数 因为强行要求在线查询,所以题目要求,每次当前给 ...
- 2015北京网络赛A题The Cats' Feeding Spots
题意:给你一百个点,找个以这些点为中心的最小的圆,使得这个圆恰好包含了n个点,而且这个圆的边界上并没有点 解题思路:暴力枚举每个点,求出每个点到其他点的距离,取第n大的点,判断一下. #include ...
- 2015北京网络赛 A题 The Cats' Feeding Spots 暴力
The Cats' Feeding Spots Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acm ...
- 2015北京网络赛 Couple Trees 倍增算法
2015北京网络赛 Couple Trees 题意:两棵树,求不同树上两个节点的最近公共祖先 思路:比赛时看过的队伍不是很多,没有仔细想.今天补题才发现有个 倍增算法,自己竟然不知道. 解法来自 q ...
- 2015北京网络赛 D-The Celebration of Rabbits 动归+FWT
2015北京网络赛 D-The Celebration of Rabbits 题意: 给定四个正整数n, m, L, R (1≤n,m,L,R≤1000). 设a为一个长度为2n+1的序列. 设f(x ...
- 2015北京网络赛 J Scores bitset+分块
2015北京网络赛 J Scores 题意:50000组5维数据,50000个询问,问有多少组每一维都不大于询问的数据 思路:赛时没有思路,后来看解题报告也因为智商太低看了半天看不懂.bitset之前 ...
- ACM-ICPC 2018北京网络赛-A题 Saving Tang Monk II-优先队列
做法:优先队列模板题,按步数从小到大为优先级,PASS掉曾经以相同氧气瓶走过的地方就好了 题目1 : Saving Tang Monk II 时间限制:1000ms 单点时限:1000ms 内存限制: ...
随机推荐
- hibernate添加数据,默认字段为null的问题解决
数据库中的一个字段默认为0,但是在用hibernate的添加之后,默认字段竟然不是0,为NULL. 查了一下.发现想要让默认字段生效.需要在*.hbm.xml添加一些参数,如下.(红色部分) dyna ...
- win8 优化笔记
win8可以关掉的服务: 以下是小编搜集的可以安全更改为手动启动的服务(按名称排序): Application Experience(启动时为程序处理应用程序兼容性缓存请求) ·Computer Br ...
- Flume学习——BasicTransactionSemantics
org.apache.flume.channel.BasicTransactionSemantics An implementation of basic Transaction semantics ...
- PHP 7 值得期待的新特性(下)
这是我们期待已久的 PHP 7 系列文章的第二篇.点此阅读 第一篇本文系 OneAPM 工程师编译整理. 也许你已经知道,重头戏 PHP 7 的发布将在今年到来!现在,让我们来了解一下,新版本有哪些新 ...
- 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换
本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下-复制代码 代码如下: #ifndef USE_H_ ...
- hdu 4294 Multiple
思路: 首先给出一个结论,就是最多用两个数就可以表示任何数的倍数. 证明 :对于一个数字a,可以构造出的数字有 a,aa,aaa,aaaa,aaaaa,…… 每一个数对于n都有一个余数,余数最多有n个 ...
- QMenu的个性化定制
经常使用菜单,菜单的定制相当重要,普通的样式设置不难,一般需求足以实现(QMenu + QAction).如果要足够个性,则需要进行一定的定制. 说起定制,其实也是利用Qt中现成的组件进行组装 ...
- CenOS7.1安装VNC——让win7远程桌面linux
参考:http://wic.xingning.gov.cn/blog/29 https://linux.cn/article-5335-1.html 1.检查是否安装VNC, rpm -q tiger ...
- MSSQL复制功能实现与Oracle数据库同步
1.分别建立链接对数据库进行操作,SQLServer可以用ADO.NET,操作Oracle可以用OLEDB或者用System.Data.OracleClient(需要添加引用才能用) 这种方案的优点就 ...
- poj 3009 Curling 2.0( dfs )
题目:http://poj.org/problem?id=3009 参考博客:http://www.cnblogs.com/LK1994/ #include <iostream> #inc ...