Решение первой подзадачи (15 баллов): переберем зорды трех различных цветов и проверим условия. Для проверки достаточно сравнить первую цифру красной модели с последней цифрой зеленой, а также последнюю цифру красной модели с первой цифрой синей. Решение будет работать за O(n3)
Решение второй подзадачи (25 баллов): заметим, что количество различных номеров моделей мало. Для каждого цвета посчитаем количество моделей с фиксированным номером. Нам достаточно перебрать номера моделей для всех трех рейнджеров и прибавить к ответу произведение их количества. O(903 + n)
Решение третьей подзадачи (31 балл): предподсчитаем массив R[a][b], где элемент с номерами a и b равен количеству моделей у красного рейнджера, у которых первая цифра равна a и последняя равна b. Теперь переберем номер модели, который взяли зеленый и синий рейнджеры. Зафиксируется первая и последняя цифра номера красной модели. Используя массив R, за O(1) узнаем количество подходящих моделей красного рейнджера.
Решение четвертой подзадачи (46 баллов): в этой подзадаче, существуют модели с одинаковыми номерами. Заметим, что решение для третьей группы посчитает способы, в которых могут повторяться номера моделей. Для начала учтем в рассмотрении вариантов, что номера моделей зеленого и синего рейнджера не должны совпадать.
Теперь для получения верного ответа вычтем случаи, в которых модели красного рейнджера совпадают либо с зеленым, либо с синим. Посчитаем количество моделей, которые совпадают у красного и синего, а также красного и зеленого рейнджеров и вычтем эти числа из ответа, если они были посчитаны в нашем решении. Это можно сделать при помощи структуры map или сортировки.
Полное решение (100 баллов): посчитаем массивы G[a] и B[b]. Элемент a в массиве G равен количеству моделей у зеленого рейнджера, у которых последняя цифра номера равна a. Элемент b в массиве B равен количеству моделей синего рейнджера, у которых первая цифра равна b. Теперь переберем первую и последнюю цифру номера модели красного рейнджера. К ответу прибавим G[a]·R[a][b]·B[b]. Не забудем вычесть варианты, в которых у какой-то пары совпадают номера моделей. Для этого воспользуемся идей из четвертой подгруппы. Также заметим, что вариант, где все три рейнджера имеют одинаковый номер модели будет вычитаться 3 раза, поэтому необходимо прибавить это количество увеличенное в 2 раза.