Хелпикс

Главная

Контакты

Случайная статья





Задания для олимпиады по информатике



Задания для олимпиады по информатике

для студентов 1 курса ВолгГТУ  (мах 100 баллов)

Задание Баллы
Последовательность Фибоначчи Fn задается следующим образом: F0=1 F1=1 Fn=Fn-1+Fn-2. Начало ряда Фибоначчи выглядит так: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... Программа должна по данному n, 0≤n≤40 вычиcлить Fn.
Дано множество из некоторого количества элементов. Построить все возможные перестановки его элементов.
Задан массив, состоящий из n неотрицательных чисел. Найдите в нем индекс элемента, для которого сумма элементов, стоящих до него, наименее отличается от суммы элементов, стоящих после него. Формат входных данных Программа получает на вход N – число элементов в массиве; значения элементов массива. Формат выходных данных Программа должна вывести индекс искомого элемента.
Сжать массив, удалив из него все элементы, величина которых находится в интервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями. Формат входных данных Вводится размер массива Вводятся элементы массива Вводится интервал для удаления элементов Формат выходных данных Программа должна вывести измененный массив.
Изменить последовательность столбцов матрицы так, чтобы элементы их первой строки были отсортированы по возрастанию. Формат входных данных Ввод N, M –размеров матрицы Ввод элементов матрицы Формат выходных данных Вывод измененной матрицы
Дана матрица A размером NxN, заполненная неотрицательными целыми числами. Расстояние между двумя элементами Ai j и Ap q определено как |i - p| + |j - q|. Требуется заменить каждый нулевой элемент матрицы ближайшим ненулевым. Если есть две или больше ближайших ненулевых ячейки, нуль должен быть оставлен. Ограничения: 1 <= N <= 200, 0 <= Ai j <= 1 000 000.   Формат входных данных В первой строке содержится число N. Затем идут N строк по N чисел, разделённых пробелами и представляющих собой матрицу.   Формат выходных данных Выводится N строк по N чисел, разделённых пробелами, - модифицированная матрица.
В прямоугольной таблице nxm (в каждой клетке которой записано некоторое число) в начале игрок находится в левой верхней клетке. За один ход ему разрешается перемещаться в соседнюю клетку либо вправо, либо вниз (влево и вверх перемещаться запрещено). При проходе через клетку с игрока берут столько у.е., какое число записано в этой клетке (деньги берут также за первую и последнюю клетки его пути).   Требуется найти минимальную сумму у.е., заплатив которую игрок может попасть в правый нижний угол.   Формат входных данных Во входных данных задано два числа n и m - размеры таблицы (1?n?20, 1?m?20). Затем идет n строк по m чисел в каждой - размеры штрафов в у.е. за прохождение через соответствующие клетки (числа от 0 до 100).  Формат выходных данных В выходные данные запишите минимальную сумму, потратив которую можно попасть в правый нижний угол.
По некоторому каналу связи передается сообщение, состоящее из 0 и 1. Из-за помех возможны ошибки при передаче сигнала. Поэтому было решено передавать каждый сигнал трижды, теперь вместо 1 передается 111, а вместо 0 - 000. При передаче данных все равно случаются помехи, поэтому при расшифровке сообщения берут тот символ, который встречается в группе из 3-х символов чаще. Примечание. Исходные данные записаны в массив, длина которого кратна 3. Расшифрованный текст записать в другой массив.
Задан массив натуральных чисел, причем элементы массива могут принимать значения 1 до 10000 и некоторые из них могут совпадать. Требуется написать программу, которая упорядочивает массив по возрастанию, используя лишь два оператора: цикл с параметром и  оператор присваивания. Примечание. При сортировке нельзя использовать операции сравнения и условные операторы, но можно использовать дополнительный массив.
Петя и Ваня играют в очень простую игру. Перед ними куча из N камней. Каждый из них во время своего хода может взять из этой кучи любое количество камней, равное неотрицательной степени числа 2, т.е. 1, 2, 4, 8,… . Начинает игру либо Петя, либо Ваня. Затем игроки ходят по очереди. Тот, кто возьмет последний камень, тот и выигрывает. Требуется написать программу, которая при заданных исходных данных определяет победителя в этой игре. При этом следует учитывать, что игроки играют оптимально. Примечание. При выводе результатов указать цифру «1», если выиграет тот, кто ходит первым, или цифру «2» – в противном случае. Если игру выиграл тот, кто ходил первым, также указать минимальное число камней, которое должен взять игрок, выполнявший ход первым, чтобы гарантировать свою победу.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.