Ошибка выполнения, каждый раз, когда я отправляю проблему в коде jam java - PullRequest
0 голосов
/ 04 апреля 2020

Я принимаю участие в Google Code Jam впервые. Каждый раз, когда я отправляю решение в java, оно показывает ошибку времени выполнения. Те же тесты проходят в локальной IDE. Может ли кто-нибудь помочь мне понять ограничения платформы.
Вопрос заключается в следующем: учитывая строку цифр S, вставьте в нее минимальное количество открывающих и закрывающих скобок, чтобы полученная строка была сбалансированной и каждая di git d находится внутри ровно d пар совпадающих скобок.

Пусть вложенность двух скобок в строке будет подстрокой, которая встречается строго между ними. Говорят, что открывающая и закрывающая круглые скобки, расположенные далее справа от них, совпадают, если их вложенность пуста, или если каждая скобка в их вложенности совпадает с другой круглой скобкой в ​​их вложении. Глубина вложения позиции p - это количество пар совпадающих скобок m, таких что p включено во вложение m.

Например, в следующих строках все цифры соответствуют их глубине вложения: 0 ( (2) 1), (((3)) 1 (2)), ((((4)))), ((2)) ((2)) (1). Первые три строки имеют минимальную длину среди тех, которые имеют одинаковые цифры в том же порядке, но последняя не имеет, так как ((22) 1) также имеет цифры 221 и короче.

Учитывая строку из цифр S найдите другую строку S ', состоящую из скобок и цифр, такую, что: все скобки в S' совпадают с какой-то другой скобкой, удалив любые и все скобки из S ', получая в S, каждая di git в S' равна равна его глубине вложения, а S 'имеет минимальную длину.

Входные данные В первой строке входных данных указано количество тестовых случаев, за которыми следуют T-строки. Каждая строка представляет собой тестовый пример и содержит только строку S.

Выходные данные Для каждого тестового примера выведите одну строку, содержащую Case #x: y, где x - номер тестового набора (начиная с 1), а y - строка S 'определена выше.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;

class NestingDepths1
{

    public static void main(String[] args) throws NumberFormatException, IOException
    {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int t = Integer.parseInt(br.readLine());
        for (int tt = 0; tt < t; tt++)
        {
            String s = br.readLine();
            int n = s.length();
            int brac=0;
            StringBuilder sb = new StringBuilder();
            for(int i=0;i<n;i++)
            {
                int val = s.charAt(i)-48;
                if(val==brac)
                {
                    sb.append(s.charAt(i));
                }
                else if(val>brac)
                {
                    int diff = val-brac;
                    sb.append(generateOpenBraces(diff)).append(s.charAt(i));
                    brac = brac+diff;
                }
                else
                {
                    int diff = brac-val;
                    sb.append(generateCloseBraces(diff)).append(s.charAt(i));
                    brac=brac-diff;
                }
            }
            if(brac>0) 
            {
                sb.append(generateCloseBraces(brac));
            }
            System.out.println(sb.toString());

        }
        System.exit(0);
    }

    public static String generateOpenBraces(int n)
    {
         return String.join("", Collections.nCopies(n, "("));
    }
    public static String generateCloseBraces(int n)
    {
         return String.join("", Collections.nCopies(n, ")"));
    }


}
...