Дана задача сортировки шаров по контейнерам. У нас есть n контейнеров и n различных цветов шаров, причем шары распределены по контейнерам случайным образом. Допускается одна операция: обменять два шара в разных контейнерах. Необходимо выяснить, можно ли с помощью этой операции рассортировать шары так, чтобы в каждом контейнере лежали только шары одного цвета и каждый цвет присутствовал только в одном контейнере.
- Подсчет суммарного количества шаров каждого цвета и суммарного количества шаров в каждом контейнере:
- Создаем два массива
colorSumsиcontainerSumsразмеромn, гдеcolorSums[i]хранит общее количество шаровi-го цвета во всех контейнерах, аcontainerSums[i]хранит общее количество шаров во всех контейнерахi.
- Создаем два массива
- Сравнение массивов:
- Если отсортированные массивы
colorSumsиcontainerSumsсовпадают, то можно рассортировать шары, иначе нельзя.
- Если отсортированные массивы
go run main.gogo test -v