借用大牛的一张图片:模拟

 #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的更多相关文章

  1. 2015北京网络赛 G题 Boxes bfs

    Boxes Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingonl ...

  2. 2015北京网络赛 H题 Fractal 找规律

    Fractal Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingo ...

  3. hihocoder 1236(2015北京网络赛 J题) 分块bitset乱搞题

    题目大意: 每个人有五门课成绩,初始给定一部分学生的成绩,然后每次询问给出一个学生的成绩,希望知道在给定的一堆学生的成绩比这个学生每门都低或者相等的人数 因为强行要求在线查询,所以题目要求,每次当前给 ...

  4. 2015北京网络赛A题The Cats' Feeding Spots

    题意:给你一百个点,找个以这些点为中心的最小的圆,使得这个圆恰好包含了n个点,而且这个圆的边界上并没有点 解题思路:暴力枚举每个点,求出每个点到其他点的距离,取第n大的点,判断一下. #include ...

  5. 2015北京网络赛 A题 The Cats' Feeding Spots 暴力

    The Cats' Feeding Spots Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acm ...

  6. 2015北京网络赛 Couple Trees 倍增算法

    2015北京网络赛 Couple Trees 题意:两棵树,求不同树上两个节点的最近公共祖先 思路:比赛时看过的队伍不是很多,没有仔细想.今天补题才发现有个 倍增算法,自己竟然不知道.  解法来自 q ...

  7. 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 ...

  8. 2015北京网络赛 J Scores bitset+分块

    2015北京网络赛 J Scores 题意:50000组5维数据,50000个询问,问有多少组每一维都不大于询问的数据 思路:赛时没有思路,后来看解题报告也因为智商太低看了半天看不懂.bitset之前 ...

  9. ACM-ICPC 2018北京网络赛-A题 Saving Tang Monk II-优先队列

    做法:优先队列模板题,按步数从小到大为优先级,PASS掉曾经以相同氧气瓶走过的地方就好了 题目1 : Saving Tang Monk II 时间限制:1000ms 单点时限:1000ms 内存限制: ...

随机推荐

  1. 【扩展欧几里得】Codevs 1200: [noip2012]同余方程

    Description 求关于 x 同余方程 ax ≡ 1 (mod b)的最小正整数解. Input Description 输入只有一行,包含两个正整数 a, b,用 一个 空格隔开. Outpu ...

  2. BZOJ 4146 [AMPPZ2014] Divisors 解题报告

    这个题感觉比较小清新... 我们记录每个数出现的次数 $T_i$. 首先依次枚举每个数字,令 $ans = ans + T_i \times (T_i - 1)$,然后枚举这个数的倍数,令 $ans ...

  3. maven添加jar包依赖

    maven的东西使用了一段时间,但是每次使用都多少有点含糊,所以总结一下. 目前主要使用是在jar包的控制上 原理: 在本地,指定一个文件夹,便是maven的仓库,maven会从远程的中央仓库中下载你 ...

  4. hdu 3778

    简单的dfs  但繁琐的可以了 0.0 #include<cstdio> #include<cstring> #include<algorithm> using s ...

  5. SSH hibernate 使用时最好添加访问数据库的编码

    SSH hibernate 使用时最好添加访问数据库的编码 如下所示:第13行为设置hibernate访问数据库的编码(&是&的转义序列) <!DOCTYPE hibernate ...

  6. c++ string c_str() 和data()区别

    看下面的英文解释: const char* c_str ( ) const;Get C string equivalentGenerates a null-terminated sequence of ...

  7. spring的组成

    ① Spring Core:核心容器,BeanFactory提供了组件生命周期的管理,组件的创建,装配,销毁等功能 SpringContext:ApplicationContext,扩展核心容器,提供 ...

  8. MyBatis的两个配置文件

    MyBatis有两个基本的配置文件,一个用来配置环境信息(mybatis.xml),一个用来写SQL语句(xxMapper.xml). mybatis.xml: <?xml version=&q ...

  9. node.js模块之util模块

    util提供了各种使用的工具.require('util') to access them. Util.format(format,[..]) Returns a formatted string u ...

  10. [原]Unity3D深入浅出 - 雾效(Fog)

    在Unity中开启雾效的方式:依次选中菜单栏中的 Edit - Render Settings 项,勾选Fog 选框即可开启雾效.雾效的参数如下: Fog Color:雾的颜色. Fog Mode:雾 ...