CSES - Datatähti 2018 alku - Results
Submission details
Task:Merkkijono
Sender:RoniTuohino
Submission time:2017-10-09 17:39:29 +0300
Language:Java
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.13 sdetails
#2ACCEPTED0.28 sdetails
#3ACCEPTED0.23 sdetails
#4ACCEPTED0.20 sdetails
#5ACCEPTED0.26 sdetails
#6ACCEPTED0.19 sdetails
#7ACCEPTED0.17 sdetails
#8ACCEPTED0.19 sdetails
#9ACCEPTED0.19 sdetails
#10ACCEPTED0.18 sdetails

Code

import java.util.*;
public class Main {

    public static char[] lineArray;
    public static String line;

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);

            line = s.nextLine();
            lineArray = line.toCharArray();

            CheckChars();

            System.out.println(line);

    }

    public static void CheckChars()
    {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < line.length(); i++)
        {
            try
            {
                if (lineArray[i] == lineArray[i + 1])   //There are 2 or more letters next to eachother
                {
                    int x = 0;
                    for (int o = i; o < line.length(); o++)  //Delete as many letters as there are next to eachother
                    {
                        if (lineArray[o] != lineArray[i])
                        {
                            break;
                        }
                        x += 1;
                    }
                    //i = startIndex
                    //x = chars to remove
                    //line = line.Remove(i, x);   //THIS NIGGER
                    lineArray = line.toCharArray();
                    for(int m = i; m < i + x; m++){
                        lineArray[m] = '0';
                    }

                    for (char a:lineArray) {
                        stringBuilder.append(a);
                    }

                    line = stringBuilder.toString();
                    line = line.replaceAll("0", "");

                    break;
                }
            }
            catch (IndexOutOfBoundsException out)
            {
                break;
            }
        }
        CheckLine();
    }

    public static void CheckLine()  //Check if there are any chars left to remove
    {
        lineArray = line.toCharArray();
        for(int i = 0; i < lineArray.length; i++)
        {
            try
            {
                if (lineArray[i] == lineArray[i + 1])
                {
                    CheckChars();
                }
            } catch(IndexOutOfBoundsException out)
            {
                break;
            }
        }
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
ABABABABABABABABABABABABABABAB...

Test 2

Verdict: ACCEPTED

input
AABBAABBAABBAABBAABBAABBAABBAA...

correct output
(empty)

user output
(empty)

Test 3

Verdict: ACCEPTED

input
ABABABABABABABABABABABABABABAB...

correct output
(empty)

user output
(empty)

Test 4

Verdict: ACCEPTED

input
BBABABBBBBAABBBABABABBBBAAABAB...

correct output
BAB

user output
BAB

Test 5

Verdict: ACCEPTED

input
ACDCBBACDBBBACAACBBDBADBAABABA...

correct output
ACDCACDADBADABACACDCADADABABCA...

user output
ACDCACDADBADABACACDCADADABABCA...

Test 6

Verdict: ACCEPTED

input
EETFHIJOGACDHMGVFJCMETMZDEITTR...

correct output
TFHIJOGACDHMGVFJCMETMZDEIROTET...

user output
TFHIJOGACDHMGVFJCMETMZDEIROTET...

Test 7

Verdict: ACCEPTED

input
GOONLAHLYPRFCZKIKSJWAWWYJJPCDB...

correct output
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE...

user output
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE...

Test 8

Verdict: ACCEPTED

input
PISHWMOTCDDZFRMYMOMYDYYGJZIQHS...

correct output
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK...

user output
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK...

Test 9

Verdict: ACCEPTED

input
QUVVTPXAMWWODFXRONJODPGBTCISGM...

correct output
QUTPXAMODFXRONJODPGBTCISGMVRBW...

user output
QUTPXAMODFXRONJODPGBTCISGMVRBW...

Test 10

Verdict: ACCEPTED

input
POXHAHYEZTLYNFSLABODMRNKDSKROZ...

correct output
POXHAHYEZTLYNFSLABODMRNKDSKROZ...

user output
POXHAHYEZTLYNFSLABODMRNKDSKROZ...