CSES - Datatähti 2018 alku - Results
Submission details
Task:Merkkijono
Sender:ISIMO66
Submission time:2017-10-03 23:00:42 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#10.18 sdetails
#20.19 sdetails
#30.21 sdetails
#40.19 sdetails
#50.20 sdetails
#60.19 sdetails
#70.18 sdetails
#80.24 sdetails
#90.24 sdetails
#100.19 sdetails

Code

#include "stdio.h"
#include "stdlib.h"
int parse( char *, char *);
int main ( int argc, char ** argv ){
//Get String
char * str = (char *)malloc(sizeof(char));
int i = 0;
str[0] = getchar();
while (1) {
if (str[i]== EOF){
str[i] = '\0';
break;
}
i++;
str = (char *)realloc(str, (i+2)*sizeof(char));
str[i] = getchar();
}
char * index = (char *)malloc(sizeof(str));
int j = 0;
while(str[j]){
index[j] = 1;
j++;
}
index[j] = '\0';
//Parse String
while(parse(str, index)) continue;
//Print String
j = 0;
while(str[j]){
if (index[j]){
putchar(str[j]);
}
j++;
}
free(str);
free(index);
return 0;
}
int parse(char * str, char * index) {
int i = 0;
int j = 0;
while (str[i]) {
if (!index[i]) {
i++;
continue;
}
if (!index[i+1] && !index[i-1]) {
//BOTH SIDES 0
//Check + side
int ii = 1;
while (index[i+ii] == 0){
if (str[i+ii] == '\0') break;
if (str[i] == str[i + ii]){
index[i] = 0;
j++;
break;
}
ii++;
}
if (str[i] == str[i+ii]){
index[i] = 0;
index[i+ii] = 0;
j++;
}
//Check - side
ii = 1;
while (index[i-ii] == 0){
if (ii == i){
break;
}
if (str[i] == str[i + ii]){
index[i] = 0;
j++;
break;
}
ii++;
}
if (str[i] == str[i-ii]){
index[i] = 0;
index[i-ii] = 0;
j++;
}
}
else if (!index[i+1]) {
// + SIDE 0
//Check - side
if (str[i] == str[i-1]){
index[i] = 0;
index[i-1] = 0;
j++;
}
//Check + side
else{
int ii = 1;
while (index[i+ii] == 0){
if (str[i+ii] == '\0') break;
if (str[i] == str[i + ii]){
index[i] = 0;
j++;
break;
}
ii++;
}
if (str[i] == str[i+ii]){
index[i] = 0;
index[i+ii] = 0;
j++;
}
}
}
else if (!index[i-1]) {
// - SIDE 0
//check + side
if (str[i] == str[i+1]){
index[i] = 0;
index[i+1] = 0;
j++;
}
//Check - side
else{
int ii = 1;
while (index[i-ii] == 0){
if (ii == i){
break;
}
if (str[i] == str[i + ii]){
index[i] = 0;
j++;
break;
}
ii++;
}
if (str[i] == str[i-ii]){
index[i] = 0;
index[i-ii] = 0;
j++;
}
}
}
else {
//BOTH SIDES 1
if (str[i] == str[i+1]) {
index[i] = 0;
index[i+1] = 0;
j++;
}
if (str[i] == str[i-1]) {
index[i] = 0;
index[i-1] = 0;
j++;
}
}
i++;
}
if (j > 0) return 1;
return 0;
}

Test details

Test 1

Verdict:

input
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
BABABABABABABABABABABABABABABA...

Error:
*** Error in `input/code': free(): invalid next size (fast): 0x0000000001282410 ***

Test 2

Verdict:

input
AABBAABBAABBAABBAABBAABBAABBAA...

correct output
(empty)

user output
(empty)

Error:
*** Error in `input/code': corrupted size vs. prev_size: 0x00000000022b1400 ***

Test 3

Verdict:

input
ABABABABABABABABABABABABABABAB...

correct output
(empty)

user output
(empty)

Error:
*** Error in `input/code': corrupted size vs. prev_size: 0x0000000001078400 ***

Test 4

Verdict:

input
BBABABBBBBAABBBABABABBBBAAABAB...

correct output
BAB

user output
(empty)

Error:
*** Error in `input/code': corrupted size vs. prev_size: 0x00000000009b9400 ***

Test 5

Verdict:

input
ACDCBBACDBBBACAACBBDBADBAABABA...

correct output
ACDCACDADBADABACACDCADADABABCA...

user output
(empty)

Error:
*** Error in `input/code': corrupted size vs. prev_size: 0x00000000018a5400 ***

Test 6

Verdict:

input
EETFHIJOGACDHMGVFJCMETMZDEITTR...

correct output
TFHIJOGACDHMGVFJCMETMZDEIROTET...

user output
TFHIJOGACDHMGVFJCMETMZDEIROTET...

Error:
*** Error in `input/code': free(): invalid next size (fast): 0x000000000252f410 ***

Test 7

Verdict:

input
GOONLAHLYPRFCZKIKSJWAWWYJJPCDB...

correct output
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE...

user output
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE...

Error:
*** Error in `input/code': corrupted size vs. prev_size: 0x0000000000997400 ***

Test 8

Verdict:

input
PISHWMOTCDDZFRMYMOMYDYYGJZIQHS...

correct output
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK...

user output
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK...

Error:
*** Error in `input/code': free(): invalid next size (fast): 0x00000000011d5410 ***

Test 9

Verdict:

input
QUVVTPXAMWWODFXRONJODPGBTCISGM...

correct output
QUTPXAMODFXRONJODPGBTCISGMVRBW...

user output
QUTPXAMODFXRONJODPGBTCISGMVRBW...

Error:
*** Error in `input/code': free(): invalid next size (fast): 0x0000000000ced410 ***

Test 10

Verdict:

input
POXHAHYEZTLYNFSLABODMRNKDSKROZ...

correct output
POXHAHYEZTLYNFSLABODMRNKDSKROZ...

user output
POXHAHYEZTLYNFSLABODMRNKDSKROZ...

Error:
*** Error in `input/code': free(): invalid next size (fast): 0x0000000001d31410 ***