Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 21.05.2019
Сообщений: 33

Непростая покраска

20.04.2020, 14:12. Показов 618. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Положительное целое число называется составным, если оно представимо в виде произведения двух положительных целых чисел, каждое из которых больше 1. Например, следующие числа составные: 6, 4, 120, 27. Следующие числа составными не являются: 1, 2, 3, 17, 97.

Задана последовательность из n составных чисел a1,a2,…,an.

Алиса хочет выбрать любое целое число m≤11 и покрасить каждый элемент в один из m цветов от 1 до m так, что:

-для каждого цвета от 1 до m существует хотя бы один элемент этого цвета;
-каждый элемент покрашен и притом ровно в один цвет;
-наибольший общий делитель любых двух одноцветных элементов больше 1, то есть gcd(ai,aj)>1 для любой пары индексов i,j, если эти элементы покрашены в одинаковый цвет.

Обратите внимание, что одинаковые элементы могут быть покрашены в разные цвета — просто для каждого индекса от 1 до n надо выбрать один из m цветов.

Алиса уже показала, что если все ai≤1000, то она всегда может решить эту задачу, выбрав некоторое m≤11.

Помогите Алисе найти требуемую покраску элементов. Обратите внимание, что вам не нужно минимизировать или максимизировать количество цветов, достаточно найти решения с любым m от 1 до 11.

Входные данные
В первой строке записано целое число t (1≤t≤1000) — количество наборов входных данных в тесте. Далее содержатся сами описания наборов.

В первой строке набора записано целое число n (1≤n≤1000) — количество чисел в последовательности a.

Вторая строка набора входных данных содержит n составных целых чисел a1,a2,…,an (4≤ai≤1000).

Гарантируется, что сумма значений n по всем наборам входных данных не превосходит 104.

Выходные данные
Для каждого набора входных данных выведите 2 строки. В первую выведите m (1≤m≤11) — количество использованных цветов. Считайте, что цвета пронумерованы от 1 до m. Во вторую строку выведите любую раскраску элементов, которая удовлетворяет условиям выше. Выведите n целых чисел c1,c2,…,cn (1≤ci≤m), где ci — цвет i-го элемента. Если решений несколько, то выведите любое из них. Обратите внимание, что вам не нужно минимизировать или максимизировать количество цветов, достаточно найти решения с любым m от 1 до 11.

Помните, что каждый цвет от 1 до m должен быть использован хотя бы раз. Любые два одноцветных элемента должны не быть взаимно просты (то есть их НОД должен быть больше 1).

Пример
входные данные
3
3
6 10 15
2
4 9
23
437 519 865 808 909 391 194 291 237 395 323 365 511 497 781 737 871 559 731 697 779 841 961
выходные данные
1
1 1 1
2
2 1
11
4 7 8 10 7 3 10 7 7 8 3 1 1 5 5 9 2 2 3 3 4 11 6

Примечание
В первом наборе входных данных gcd(6,10)=2, gcd(6,15)=3 и gcd(10,15)=5. Таким образом, допустимо раскрасить все три элемента в один цвет. Обратите внимание, что для данного набора входных данных существуют и другие раскраски, которые удовлетворяют требованиям Алисы.

Во втором наборе входных данных в каждый цвет покрашен только один элемент, так что раскраска точно походит под все требования Алисы.

ПОМОГИТЕ ЗДЕЛАТЬ ПОЖАЛУЙСТА!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2020, 14:12
Ответы с готовыми решениями:

Непростая задачка по массивам
Всем здравствуйте. Впервые на данном форуме, прошу помидорами не закидывать, в случае баяна. Имеется задание, нужна помощь в...

Непростая задача на графы.
Здравствуйте! Необходимо решить такую задачу: Антон работает в межгалактическом туристическом агентстве. Довольно часто ему приходится...

Одна непростая зaдaчка
Завтра у меня зачет, и мне осталось решить одну задачку, помогите пожалуйста: даны положительные действительные числа а,х, натуральное n....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.04.2020, 14:12
Помогаю со студенческими работами здесь

Очень непростая программа с класами!
Всем привет! Нужно сделать класс Matrix (квадратная матрица) Действия: -=, *=. Класс должен иметь конструкторы, для создания объектов...

Покраска лабиринта
Лабиринт представляет собой квадрат, состоящий из N×N сегментов. Каждый из сегментов может быть либо пустым, либо заполненным монолитной...

Исчисление сумм и произведений (непростая задачка)
Вычислить и вывести значения соответствующих переменных: L=П (Сверху n, снизу i=3) (2i^2+3)/(3i-7)! - E (сверху n, снизу i=3)...

Тип «Клиент» определить как перечисление (enum) со значениями полей «мужчина», «женщина, покраска», «женщина, стрижка»,
Тип «Клиент» определить как перечисление (enum) со значениями полей «мужчина», «женщина, покраска», «женщина, стрижка», «женщина, укладка»,...

Покраска градиентом
Нужно покрасить ячеку градиентом в qtablewidget. Когда я просто крашу цветом: QColor color; color.setRgb(200, 0, 0); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru