hihocoder 1228 Mission Impossible 6(2015北京网赛 B)
发布日期:2021-11-16 12:57:01 浏览次数:2 分类:技术文章

本文共 1295 字,大约阅读时间需要 4 分钟。

        大模拟一个。。反正这种题比赛的时候都是最后写的,读题一定要仔细,代码逻辑要清晰,最好带注释,我很幸运地在最后10min1A了。。

        感觉要特别注意的地方是状态的修改,还有光标的移动,不能超过长度限制等等。最繁琐的地方应该是复制粘贴,把题目每个要求都满足应该就差不多了,其实样例给得已经够良心了。

        另外有个意外收获,就是有人怕O(n)的字符串操作TLE,用了rope这个库,有空学习一下!

#include #include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long#define INF 0x7fffffffusing namespace std;string str;string clipboard;const int INSERT=0;const int OVERWRITE=1;const int NOTHING=0;const int START=1;char ans[20010];int gb; //光标位置int lineend; // int mode;int pos1; //复制开始的位置 int copymode;void init(){ gb=0; lineend=0; mode=INSERT; pos1=-1; copymode=NOTHING; clipboard="";}void output(){ if(lineend>0){ ans[lineend]='\0'; /*for(int i=0;i
>t; while(t--) { init(); int M; cin>>M>>str; int len = str.size(); for(int q=0;q
0)gb--; }else if(op=='R'){ if(gb
t){ swap(s,t); } int dist=t-s; for(int i=t;i
0){ for(int i=gb;i
t){ swap(s,t); } clipboard=""; for(int i=s;i
=gb;i--){ ans[i+cliplen]=ans[i]; } for(int i=0;i
gb;i--){ ans[i]=ans[i-1]; } ans[gb]=op; lineend++; gb++; }else{ } }else{ //覆盖 ans[gb]=op; gb++; if(gb>M){ gb--; } lineend=max(lineend,gb); } } //output(); } output(); } return 0;}

转载地址:https://blog.csdn.net/squee_spoon/article/details/48621741 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:hihoCoder 1236 Scores(2015 北京网赛 J)
下一篇:2015 ICPC 沈阳网赛 解题报告

发表评论

最新留言

很好
[***.229.124.182]2024年03月31日 21时50分02秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章