Submission #108223

#TimeUsernameProblemLanguageResultExecution timeMemory
108223SecretAgent007Crayfish scrivener (IOI12_scrivener)C++17
0 / 100
1070 ms8856 KiB
#include <bits/stdc++.h>
using namespace std;

vector< string > last;

struct node{
	
	node *parent, *from;
	char c;
	
};

node *root = NULL;

node *curr = NULL;

void Init(){
	
}

void TypeLetter(char c){
	if(root == NULL){
		root = new node{NULL,NULL,c};
		curr = root;
		return;
	}
	
	node *temp = new node{NULL,NULL,c};
	temp->parent = curr;
	temp->from = curr;
	curr = temp;
}

void UndoCommands(int n){
	node *first = curr;
	for(int i = 0; i < n; i++){
		curr = curr->from;
	}
	curr->from = first;
}

bool verif = false;

string s = "";

char GetLetter(int n){
	if(!verif){
		node* Node = curr;
		while(Node){
			s += Node->c;
			Node = Node->parent;
		}
		verif = true;
		reverse(s.begin(), s.end());
		return s[n];
	}else{
		return s[n];
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...