zoukankan      html  css  js  c++  java
  • 高级打字机

    高级打字机

    【题目描述】

    早苗入手了最新的高级打字机。最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧。

    请为这种高级打字机设计一个程序,支持如下3种操作:

    1.T x:在文章末尾打下一个小写字母x。(type操作)

    2.U x:撤销最后的x次修改操作。(Undo操作)

    (注意Query操作并不算修改操作)

    3.Q x:询问当前文章中第x个字母并输出。(Query操作)

    文章一开始可以视为空串。

    【输入格式】

    第1行:一个整数n,表示操作数量。

    以下n行,每行一个命令。保证输入的命令合法。

    【输出格式】

    每行输出一个字母,表示Query操作的答案。

    【样例输入】

    7

    T a

    T b

    T c

    Q 2

    U 2

    T c

    Q 2

    【样例输出】

    b

    c

    【数据范围】

    对于40%的数据 n<=200;

    对于100%的数据 n<=100000;保证Undo操作不会撤销Undo操作。

    注意:

    这个题我只过了5个点,如果想全过要用Tire+倍增寻祖(不会啊);

    前五个点可以用数组模拟栈。

    50分的程序:

    #include<cstdio>
    #include<iostream>
    using namespace std;
    char a[100001],b;
    int fail,n,x;
    int main()
    {
    	int i,j;
    	scanf("%d",&n);
    	for(i=1;i<=n;i++)
    	{
    		cin>>b;
    		if(b=='T')
    		{
    			fail++;
    			scanf(" %c",&a[fail]);//因为b和x之间有空格所以先输入一个空格;
    		}
    		if(b=='U')
    		{
    			cin>>x;
    			fail=fail-x;
    		}
    		if(b=='Q')
    		{
    			cin>>x;
    			printf("%c
    ",a[x]);
    		}
    	}
    	return 0;
    }
    

    别人ac的程序:

    地址:shenben的博客园

    递交地址:

    洛谷  codevs

  • 相关阅读:
    mysql
    mysql
    mysql
    mysql
    sed编辑命令
    awk正则应用
    awk运算符
    awk命令细节
    uniq命令
    sort命令
  • 原文地址:https://www.cnblogs.com/jyhywh/p/5598539.html
Copyright © 2011-2022 走看看