Katekate2001lol
14.12.2020 12:47

Дано n цілих чисел a 1 ,a 2 ,…,a n . За одну операцію ви можете додати одне число до іншого. Тобто, виконати операцію a i =a i +a j , де i  =j. Виконайте не більше 2n операцій, щоб зробити масив неспадним. Тобто, a 1 ≤a 2 ≤⋯≤a n . Зверніть увагу, що вам необов'язково мінімізувати кількість операцій.
Головне, щоб кількість не перевищувала 2n.
Входные данные
Перший рядок містить одне ціле число n (1≤n≤10 3 ). Другий рядок містить n цілих чисел a 1 ,a 2 ,…,a n (∣a i ∣≤10 9 ). Выходные данные У першому рядку виведіть одне ціле число k (0≤k≤2n) — кількість операцій.
У кожному з наступних k рядків виведіть по два цілі числа i та j (1≤i,j≤n, i  =j), це означає, що виконається операція a i =a i +a j . Абсолютне значення будь-якого числа у будь-який момент не має перевищувати 10 18 .
Оценивание
Розв'язок, який буде працювати правильно для тестів, у яких n=2, набиратиме принаймні ів.
Розв'язок, який буде працювати правильно для тестів, у яких усі числа додатні, набиратиме принаймні ів.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
математик215
18.02.2021 18:49

Первое решение понятно, но это только общие мысли, в целом оно ошибочно по двум пунктам

1. В задании идёт речь о 20 веке, а это года 1901,19022000. Поэтому в объявлении массива нужно указать именно эти интервалы. Или просто 1 - 100, понятно же, что это один век, а при отображении года следует отображать (1900+i). 

2. В задании не определено, с какой точностью это самое население считается, если с точностью до человека, то INTEGER не хватит, поэтому этот вопрос нужно уточнить и в зависимости от точности (до тысяч, до десятков или сотен тысяч человек) выбрать соответствующий формат представления данных.

3. Странно писать 100 одинаковых операторов присваивания(кстати в тексте ещё ошибка - присваивается ОДНО И ТО ЖЕ значение, ведь оператора ввода данных НЕТ!).

Такие вещи делаются в цикле по индексам. Внутри цикла 2 оператора 

Ввод()

Присваивание

Опять же в задании не сказано, откуда берутся данные, ведь они могут браться с клавиатуры, с внешнего устройства(диска) или с какого-нибудь другого устройства ввода, например, сканера. Эти вводы реализуются похожими, но РАЗНЫМИ операторами.

 

Вот мои замечания, хотя, если формально точно реализовывать предложенное задание, нужно всего лишь описать массив, в котором будут храниться некоторые данные. В этом случае действительны лишь замечания 1 и 2. 

 

И ещё. Я не помню, что такое INTEGER. INTEGER 2-байтный точно не хватит, INTEGER 4-байтный должно хватить.

Успехов!

0,0(0 оценок)
Ответ:
жан108
18.02.2021 18:49

Первое решение понятно, но это только общие мысли, в целом оно ошибочно по двум пунктам

1. В задании идёт речь о 20 веке, а это года 1901,19022000. Поэтому в объявлении массива нужно указать именно эти интервалы. Или просто 1 - 100, понятно же, что это один век, а при отображении года следует отображать (1900+i). 

2. В задании не определено, с какой точностью это самое население считается, если с точностью до человека, то INTEGER не хватит, поэтому этот вопрос нужно уточнить и в зависимости от точности (до тысяч, до десятков или сотен тысяч человек) выбрать соответствующий формат представления данных.

3. Странно писать 100 одинаковых операторов присваивания(кстати в тексте ещё ошибка - присваивается ОДНО И ТО ЖЕ значение, ведь оператора ввода данных НЕТ!).

Такие вещи делаются в цикле по индексам. Внутри цикла 2 оператора 

Ввод()

Присваивание

Опять же в задании не сказано, откуда берутся данные, ведь они могут браться с клавиатуры, с внешнего устройства(диска) или с какого-нибудь другого устройства ввода, например, сканера. Эти вводы реализуются похожими, но РАЗНЫМИ операторами.

 

Вот мои замечания, хотя, если формально точно реализовывать предложенное задание, нужно всего лишь описать массив, в котором будут храниться некоторые данные. В этом случае действительны лишь замечания 1 и 2. 

 

И ещё. Я не помню, что такое INTEGER. INTEGER 2-байтный точно не хватит, INTEGER 4-байтный должно хватить.

Успехов!

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота