Submission #61794

# Submission time Handle Problem Language Result Execution time Memory
61794 2018-07-26T17:59:06 Z theknife2001 Crayfish scrivener (IOI12_scrivener) C++17
Compilation error
0 ms 0 KB
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>

#define inbuf_len 1 << 16
#define outbuf_len 1 << 16

#include <bits/stdc++.h>
#define ii pair < char , char >
#define fi first
#define se second


using namespace std;
const int N=1e6+5;
ii a[N];
char s[N];
int cnt;
int i;


void Init() {}

void TypeLetter(char L) {
    a[i]={'T',L};
    i++;
}

void UndoCommands(int U) {
    a[i]={'U','0'+U};
    i++;
}

char GetLetter(int P) {
    if(cnt==0)
    {
        int j=0;
        while(i>0)
        {
            i--;
            if(a[i].fi=='T')
            {
                s[j]=a[i].se;
                j++;
            }
            else
            {
                i-=(a[i].se-'0');
            }
        }
        reverse(s,s+j);
    }
    assert(0);
    cnt=1;
    return s[P];
}

int main() {
  Init();

  int cmd_num;
  int tmp=1;
  tmp = scanf("%d", &cmd_num);
  assert(tmp == 1);

  int i;
  for (i = 0; i < cmd_num; i++) {
    char cmd;
    tmp = scanf(" %c", &cmd);
    assert(tmp == 1);
    if (cmd == 'T') {
      char letter;
      tmp = scanf(" %c", &letter);
      assert(tmp == 1);
      TypeLetter(letter);
    }
    else if (cmd == 'U') {
      int number;
      tmp = scanf("%d", &number);
      assert(tmp == 1);
      UndoCommands(number);
    }
    else if (cmd == 'P') {
      int index;
      char letter;
      tmp = scanf("%d", &index);
      assert(tmp == 1);
      letter = GetLetter(index);
      printf("%c\n", letter);
    }
  }

  puts("Let's test for cheating!!");

  return 0;

}

Compilation message

/tmp/ccJnCtUA.o: In function `main':
scrivener.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccc4h462.o:grader.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status