# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
482277 | wnsduds1 | Crayfish scrivener (IOI12_scrivener) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<vector>
#include<algorithm>
#include<set>
#include<queue>
#include<bitset>
#include<string>
#define SIZE 101
#define INF 987654321
#define fastio ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
using namespace std;
int n;
int idx;
string s;
string v;
vector<string>str(n);
vector<char>ret;
void Init() {
idx = 0;
}
void TypeLetter(char L) {
string v;
v.push_back(L);
if (idx == 0)
str.push_back(v);
else
str.push_back(str[idx - 1] + v);
idx += 1;
}
void UndoCommands(int U) {
str.push_back(str[idx - (U + 1)]);
idx += 1;
}
char GetLetter(int P) {
return(str[idx - 1][P]);
}
int main() {
fastio;
char s;
cin >> n;
while (n--) {
cin >> s;
if (s == 'T') {
getchar();
char L;
cin >> L;
TypeLetter(L);
}
else if (s == 'U') {
int u;
cin >> u;
UndoCommands(u);
}
else {
int p;
cin >> p;
cout << GetLetter(p)<<"\n";
}
}
return 0;
}