제출 #680013

#제출 시각아이디문제언어결과실행 시간메모리
680013Ahmed57크레이피쉬 글쓰는 기계 (IOI12_scrivener)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; map<int,char> arr; int len[100001]; int mp[100001]; int op = 0 , root = 0 , node = 0; int lift[100001][20]; void Init(){ mp[op] = root; } void TypeLetter(char l){ node++; lift[node][0] = root; for(int i = 1;i<20;i++){ lift[node][i] = lift[lift[node][i-1]][i-1]; } len[node] = len[root]+1; root = node; op++; mp[op] = root; arr[root] = l; } void UndoCommands(int u){ mp[op+1] = mp[op-u]; root = mp[++op]; } char GetLetter(int p){ int cc = root; p = (p+1)-len[root]; for(int i = 19;i>=0;i--){ if(p>=(1<<i)){ p-=(1<<i); cc =lift[cc][i]; } } return arr[cc]; } int main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); Init(); TypeLetter('a'); cout<<root<<"\n"; TypeLetter('b'); cout<<root<<"\n"; cout<<GetLetter(1)<<"\n"; TypeLetter('d'); cout<<root<<"\n"; UndoCommands(2); cout<<root<<"\n"; UndoCommands(1); cout<<root<<"\n"; cout<<GetLetter(2)<<"\n"; TypeLetter('e'); UndoCommands(1); UndoCommands(5); TypeLetter('c'); cout<<GetLetter(2)<<"\n"; UndoCommands(2); cout<<GetLetter(2)<<"\n"; }

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

/usr/bin/ld: /tmp/ccA0UKNm.o: in function `main':
scrivener.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cchidgYm.o:grader.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status