.NET 3.x Добавить числа в скобочное выражение, чтобы получилось правильное арифметическое выражение - C#

Узнай цену своей работы

Формулировка задачи:

1.Дана последовательность из N круглых, квадратных и фигурных скобок. Выяснить, можно ли добавить в неё цифры и знаки арифметических действий так, чтобы получилось правильное арифметическое выражение. Ограничения: 1 <= N <= 100 000. Ввод: В первой строке находится число скобок N, во второй - N символов из набора (, ), [, ], {, }. Вывод: Выводится слово "Yes", если получить правильное арифметическое выражение можно, или "No", если нельзя. Примеры Ввод 1 Ввод 2 6 24 ([())] {[()([]{})[]]({}{{}})}[] Вывод 1 Вывод 2 No Yes 2.Требуется написать программу, которая выполняет t запросов по возведению целых чисел n, в целую степень ki, где i принадлежит [1..t] методом бинарного возведения в степень. Ввод: в первой строке натуральное число t - количество запросов. Далее сами запросы в формате n, ki, разделенные пробелом.

Решение задачи: «.NET 3.x Добавить числа в скобочное выражение, чтобы получилось правильное арифметическое выражение»

textual
Листинг программы
  1. static void Main()
  2. {
  3.     int length = int.Parse(Console.ReadLine());
  4.  
  5.     var stack = new Stack<char>(length);
  6.     for (int i = 0; i < length; i++)
  7.     {
  8.         char input = (char)Console.Read();
  9.         if (input == '(' || input == '{' || input == '[') stack.Push(input);
  10.         else if (stack.Count == 0 || stack.Peek() != Match(input)) break;
  11.         else stack.Pop();
  12.     }
  13.     Console.WriteLine(stack.Count == 0 ? "YES" : "NO");
  14. }
  15.  
  16. static char Match(char input)
  17. {
  18.     switch (input)
  19.     {
  20.         case ')': return '(';
  21.         case ']': return '[';
  22.         case '}': return '{';
  23.         default: return '\0';
  24.     }
  25. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы