제출 #1233043

#제출 시각아이디문제언어결과실행 시간메모리
1233043dssfsuper2크레이피쉬 글쓰는 기계 (IOI12_scrivener)C++20
0 / 100
447 ms89724 KiB
#include <bits/stdc++.h> using namespace std; struct state{ int curl; char curc; vector<int> bl; }; vector<state> states; state cs; state null; void Init() { cs.curl=-1; cs.curc=' '; cs.bl={}; states.push_back(cs); for(int i = 0;i<20;i++){ states.back().bl.push_back(0); } } void TypeLetter(char L) { state x; x.curl=cs.curl+1; x.curc=L; //to generate parents: first take previous, then take his first bl, then take the 2nd bl of his, etc //x.par=&states[states.size()-1]; auto temp = states[states.size()-1]; x.bl={(int)states.size()-1}; for(int i = 0;i<19;i++){ x.bl.push_back((temp.bl[i])); temp=states[temp.bl[i]]; } states.push_back(x); cs=x; } void UndoCommands(int U) { state x; x.curl=states[states.size()-U-1].curl; x.curc=states[states.size()-U-1].curc; auto temp = states[states.size()-U-1]; x.bl={(int)states.size()-U-1}; for(int i = 0;i<19;i++){ x.bl.push_back(temp.bl[i]); temp=states[temp.bl[i]]; } states.push_back(x); cs=states.back(); } char GetLetter(int P) { state& tmp=cs; if(cs.curl==P){ return cs.curc; } for(int i = 19;i>=0;i--){ if(states[tmp.bl[i]].curl>P)tmp=states[tmp.bl[i]]; else if (states[tmp.bl[i]].curl==P)return states[tmp.bl[i]].curc; } }

컴파일 시 표준 에러 (stderr) 메시지

scrivener.cpp: In function 'char GetLetter(int)':
scrivener.cpp:63:1: warning: control reaches end of non-void function [-Wreturn-type]
   63 | }
      | ^
#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...