Эта задача посвящена оценке некоторых выражений в стиле C. Выражения, которые нужно оценить, будут содержать только простые целочисленные переменные и ограниченный набор операторов; в выражениях не будет констант. В программе есть 26 переменных, обозначенных строчными буквами от $$$a$$$ до $$$z$$$. Перед оценкой начальные значения этих переменных равны $$$a = 1$$$, $$$b = 2$$$, ..., $$$z = 26$$$.
Допустимые операторы - это сложение и вычитание (бинарные + и -), с их известным значением. Таким образом, выражение $$$a + c - d + b$$$ имеет значение 2 ($$$1 + 3 - 4 + 2$$$). Кроме того, в входном выражении также разрешены операторы ++ и --, которые являются унарными операторами и могут стоять перед или после переменных. Если оператор ++ стоит перед переменной, то значение этой переменной увеличивается (на единицу) перед использованием значения переменной для вычисления значения всего выражения. Таким образом, значение $$$++ c - b$$$ равно 2. Когда ++ стоит после переменной, эта переменная увеличивается (на единицу) после того, как ее значение используется для вычисления значения всего выражения. Таким образом, значение $$$c ++ - b$$$ равно 1, хотя $$$c$$$ увеличивается после вычисления значения всего выражения; его значение также будет равно 4. Оператор -- ведет себя аналогично, за исключением того, что он уменьшает значение своего операнда.
Более формально, выражение оценивается следующим образом:
Таким образом, оценка $$$++ a + b ++$$$ эквивалентна вычислению $$$a = a + 1$$$, результат = $$$a + b$$$, и $$$b = b + 1$$$.
Первая строка ввода содержит одно целое число $$$T$$$, которое является количеством тестовых случаев, за которым следуют $$$T$$$ строк, каждая из которых содержит входное выражение для тестового случая. Игнорируйте пробелы во входном выражении. Убедитесь, что во входных выражениях нет неоднозначности (например, $$$a+++b$$$). Аналогично, операторы ++ или -- не появляются одновременно перед и после одной переменной (например, $$$++a++$$$). Вы можете быть уверены, что каждая переменная появляется в выражении только один раз.
Для каждого тестового случая напишите каждое выражение так, как оно появляется во входных данных (точно), затем напишите значение полного выражения. После этого на отдельных строках напишите значение каждой переменной после оценки выражения (напишите их в отсортированном порядке имен переменных). Пишите только значения переменных, которые используются в выражениях.
2 a+b c+f--+--a
Expression: a+b value = 3 a = 1 b = 2 Expression: c+f--+--a value = 9 a = 0 c = 3 f = 5