A. Выравнивание вещественных чисел

Codeforces
IDCF10052A
Time2000ms
Memory256MB
Difficulty
English · Original
Formal · Original
Вася придумал новый алгоритм сортировки вещественных чисел, который, по его мнению, будет работать быстрее, даже чем QuickSort! Он очень хочет запатентовать его, но для этого сначала необходимо представить в патентное бюро работающую версию алгоритма. К сожалению, Вася не силен в языках программирования, поэтому попросил друзей реализовать различные куски алгоритма. Вам досталась часть программы, отвечающая за выравнивание чисел. Задана последовательность Ai положительных вещественных чисел, не превосходящих 101000. Количество цифр после точки в представлении каждого числа не превосходит 1000. Требуется выписать все числа в исходном порядке в один столбец таким образом, чтобы все точки в их десятичной записи находились друг под другом. Для этого перед некоторыми числами необходимо приписать один или несколько символов _#_. Если решений несколько, то выведите то, в котором количество добавленных символов минимально. В первой строке входных данных находится целое число N — количество чисел в последовательности Ai (1 ≤ N ≤ 1000). Последующие N строк содержат по одному вещественному числу последовательности Ai в десятичной записи. Числа не содержат ведущих нулей. В каждом числе присутствует десятичная точка. Выходные данные должны содержать ровно N строк, по одному числу из последовательности Ai в строке. Числа должны быть выровнены по точке десятичной записи с помощью _#_. ## Входные Данные В первой строке входных данных находится целое число N — количество чисел в последовательности Ai (1 ≤ N ≤ 1000). Последующие N строк содержат по одному вещественному числу последовательности Ai в десятичной записи. Числа не содержат ведущих нулей. В каждом числе присутствует десятичная точка. ## Выходные Данные Выходные данные должны содержать ровно N строк, по одному числу из последовательности Ai в строке. Числа должны быть выровнены по точке десятичной записи с помощью _#_. ## Примеры Входные данные33.141592612345.67892.71Выходные данные####3.141592612345.6789####2.71Входные данные32014.090.00110000.0Выходные данные#2014.09####0.00110000.0 [samples]
**Definitions** Let $ N \in \mathbb{Z}^+ $ be the number of real numbers. Let $ A = (a_1, a_2, \dots, a_N) $ be the sequence of positive real numbers, each represented as a string with a decimal point, no leading zeros, and at most 1000 digits after the decimal point. For each $ a_i $, let: - $ l_i $ be the number of digits before the decimal point, - $ r_i $ be the number of digits after the decimal point. Let $ L = \max_{1 \le i \le N} l_i $, $ R = \max_{1 \le i \le N} r_i $. **Constraints** 1. $ 1 \le N \le 1000 $ 2. Each $ a_i $ contains exactly one decimal point. 3. No leading zeros in the integer part. 4. $ 1 \le l_i \le 1000 $, $ 0 \le r_i \le 1000 $. **Objective** For each $ a_i $, prepend $ L - l_i $ underscore characters `_` to its integer part, and append $ R - r_i $ underscore characters `_` to its fractional part, so that all decimal points align vertically, and the total number of added underscores is minimized. Output the modified strings in the original order.
API Response (JSON)
{
  "problem": {
    "name": "A. Выравнивание вещественных чисел",
    "description": {
      "content": "Вася придумал новый алгоритм сортировки вещественных чисел, который, по его мнению, будет работать быстрее, даже чем QuickSort! Он очень хочет запатентовать его, но для этого сначала необходимо предст",
      "description_type": "Markdown"
    },
    "platform": "Codeforces",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "CF10052A"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Вася придумал новый алгоритм сортировки вещественных чисел, который, по его мнению, будет работать быстрее, даже чем QuickSort! Он очень хочет запатентовать его, но для этого сначала необходимо предст...",
      "is_translate": false,
      "language": "English"
    },
    {
      "statement_type": "Markdown",
      "content": "**Definitions**  \nLet $ N \\in \\mathbb{Z}^+ $ be the number of real numbers.  \nLet $ A = (a_1, a_2, \\dots, a_N) $ be the sequence of positive real numbers, each represented as a string with a decimal p...",
      "is_translate": false,
      "language": "Formal"
    }
  ]
}
Full JSON Raw Segments