Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Text;
- using System.Collections.Generic;
- namespace Simple_Text_Editor
- {
- class Program
- {
- static void Main()
- {
- var sb = new StringBuilder();
- var addComm = new Stack<int>();
- var remComm = new Stack<string>();
- var stack = new Stack<int>();
- var n = int.Parse(Console.ReadLine());
- for (int i = 0; i < n; i++)
- {
- var input = Console.ReadLine()
- .Split();
- var com = input[0];
- switch (com)
- {
- case "1":
- {
- var arg = input[1];
- sb.Append(arg);
- addComm.Push(arg.Length);
- stack.Push(1);
- }
- break;
- case "2":
- {
- var arg = int.Parse(input[1]);
- var start = sb.Length - arg ;
- remComm.Push(sb.ToString(start, arg));
- sb.Remove(start, arg);
- stack.Push(2);
- }
- break;
- case "3":
- {
- var arg = int.Parse(input[1])-1;
- Console.WriteLine(sb[arg]);
- }
- break;
- case "4":
- {
- var uncom = stack.Pop();
- switch (uncom)
- {
- case 1:
- {
- var rem = addComm.Pop();
- var start = sb.Length - rem;
- sb.Remove(start, rem);
- }
- break;
- case 2:
- {
- var add = remComm.Pop();
- sb.Append(add);
- }
- break;
- }
- }
- break;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment