Требуется заполнить массив размера N × N единичками по спирали (начиная с верхнего левого угла по часовой стрелке, см. пример).
С клавиатуры вводится число N (нечетное, натуральное и не превышающее 50).
Требуется вывести на экран построенную спираль.
7
1111111 0000001 1111101 1000101 1011101 1000001 1111111
Выведите двумерный массив, размерами N×N, заполненный числами от единицы до N2 по спирали. Числовая спираль начинается в левом верхнем углу и закручивается по часовой стрелке.
Входной файл содержит единственное число 1 ≤ N ≤ 10.
Выведите N2 чисел – заполненный по спирали массив.
1
1
2
1 2 4 3
3
1 2 3 8 9 4 7 6 5
Вы, наверное, замечали, что многие компании используют для рекламы «красивые» номера телефонов, которые удобны для запоминания потенциальными клиентами. Но что делать, если номер вашей компании ничем не примечателен? Можно присмотреться к нему повнимательнее, а вдруг, если перегруппировать цифры номера некоторым образом, номер станет намного красивее? Например, если у вашей компании номер 872-73-33, то его можно сделать красивее, если перегруппировать цифры так: 8727-333.
Введем следующую оценку красоты разбиения номера. Будем разбивать номер дефисами на группы размером от 2 до 4 цифр. Теперь красотой разбиения назовем сумму баллов, которые приносит каждая группа. Эти баллы будем считать, пользуясь следующей таблицей.
Шаблон группы Баллы aa 2 aba 2 aab, abb 2 aaa 3 abac, baca 2 abab 3 aabb 3 abba 4 baaa, abaa, aaba, aaab 3 aaaa 5
В этой таблице символами «a», «b», «c» обозначены различные цифры. Например под шаблон «aab» подходят группы «223», «667», но не подходят «123» и «888».
Пользуясь предложенной оценкой, найдите наиболее красивое разбиение заданного номера.
Входной файл содержит одну строку из 7 цифр – заданный телефонный номер.
Выведите в первой строке выходного файла наиболее красивое разбиение номера, а во второй – величину его красоты.
Если разбиений с максимальной величиной красоты несколько, выведите в выходной файл любое из этих разбиений.
8727333
8727-333 5
8827291
88-272-91 4
Предприятие «Авто-2010» выпускает двигатели для известных во всём мире автомобилей. Двигатель состоит ровно из \(n\) деталей, пронумерованных от 1 до \(n\), при этом деталь с номером \(i\) изготавливается за \(p_i\) секунд. Специфика предприятия «Авто-2010» заключается в том, что там одновременно может изготавливаться лишь одна деталь двигателя. Для производства некоторых деталей необходимо иметь предварительно изготовленный набор других деталей.
Генеральный директор «Авто-2010» поставил перед предприятием амбициозную задачу — за наименьшее время изготовить деталь с номером 1, чтобы представить её на выставке.
Требуется написать программу, которая по заданным зависимостям порядка производства между деталями найдёт наименьшее время, за которое можно произвести деталь с номером 1.
Первая строка входного файла содержит число \(n\) (\(1\le n\le100000\)) — количество деталей двигателя. Вторая строка содержит \(n\) натуральных чисел \(p_1,p_2, \ldots,p_n\), определяющих время изготовления каждой детали в секундах. Время для изготовления каждой детали не превосходит \(10^9\) секунд.
Каждая из последующих \(n\) строк входного файла описывает характеристики производства деталей. Здесь \(i\)-я строка содержит число деталей \(k_i\), которые требуются для производства детали с номером \(i\), а также их номера. В \(i\)-й строке нет повторяющихся номеров деталей. Сумма всех чисел \(k_i\) не превосходит 200000.
Известно, что не существует циклических зависимостей в производстве деталей.
В первой строке выходного файла должны содержаться два числа: минимальное время (в секундах), необходимое для скорейшего производства детали с номером 1 и число \(k\) деталей, которые необходимо для этого произвести. Во второй строке требуется вывести через пробел \(k\) чисел — номера деталей в том порядке, в котором следует их производить для скорейшего производства детали с номером 1.
3 100 200 300 1 2 0 2 2 1
300 2 2 1
2 2 3 1 2 0
5 2 2 1
4 2 3 4 5 2 3 2 1 3 0 2 1 3
9 3 3 2 1
Напишите функцию для нахождения наибольшего общего делителя двух чисел с помощью алгоритма Евклида и используйте ее в программе для нахождения НОД уже \(n\) чисел.
На вход программе сначала подается значение \(n\) (\(2 \le n \le 100\)). В следующей строке находятся \(n\) целых неотрицательных чисел, не превосходящих \(30\,000\).
Выведите НОД исходных чисел.
3 24 8 20
4
4 0 2 4 8
2