高级打字机

题目

早苗入手了最新的高级打字机。最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧。
请为这种高级打字机设计一个程序,支持如下3种操作:
T x:在文章末尾打下一个小写字母x。(type操作)
U x:撤销最后的x次修改操作。(Undo操作)(注意Query操作并不算修改操作)
Q x:询问当前文章中第x个字母并输出。(Query操作)文章一开始可以视为空串。

程序

#include
#include
#include
#include
#include
using namespace std;
struct pp
 {
    char b[18003]=" ";
 }a[12005];
int main(){
    int n,m,k=0;
    char s;
    cin>>n;
    for (int i=1;i<=n;i++){
        cin>>s;
        if (s=='T'){
            k++;
            memcpy(a[k%12003].b,a[(k-1)%12003].b,sizeof(a[k%12003].b));
            cin>>a[k%12003].b[strlen(a[k%12003].b)];
        }
        if (s=='U'){
            k++;
            cin>>m;
            memcpy(a[k%12003].b,a[(k-m-1)%12003].b,sizeof(a[k%12003].b));
        }
        if (s=='Q'){
            cin>>m;
            cout<12003].b[m]<return 0;
}

你可能感兴趣的:(jzoj)