Районная олимпиада школьников по программированию Сибгиу, 2007
Вид материала | Документы |
- Российская командная олимпиада школьников по программированию, 24.3kb.
- Хабаровская краевая заочная олимпиада школьников по программированию 2003/2004 учебного, 1128kb.
- Iii всероссийская Командная Олимпиада Школьников по Программированию, 19.47kb.
- Олимпиада для школьников, 88.25kb.
- Хабаровская краевая заочная олимпиада школьников по программированию 2003/2004 учебного, 801.65kb.
- Д. О. Жуков московский государственный университет приборостроения и информатики использование, 33.87kb.
- Задачи олимпиады: повышение творческой активности подростков и молодёжи; привлечение, 80.78kb.
- Пояснительная записка в 1964 году Министр просвещения, 2541.4kb.
- Iii-я Всероссийская дистанционная эвристическая олимпиада по компьютерной грамотности, 31.89kb.
- Всероссийская дистанционная олимпиада по прикладному программированию для микропроцессорных, 41.62kb.
Районная олимпиада школьников по программированию СибГИУ, 2007
А. Головоломка
Максимальное время: 0,5 с.
Максимальная память: 8 MB
В коробке 33 находится восемь подвижных квадратов, пронумерованных от 1 до 8, и одно пустое место. Любой квадрат, прилегающий к пустому месту, можно передвинуть на это место, при этом пустое место окажется в позиции, занимаемой до этого квадратом.
Составить программу, расставляющую квадраты в порядке их номеров.
Примечание:
По условиям тестов, требуемое количество ходов не превышает 15.
Входной файл содержит исходное расположение пронумерованных квадратов, разделенных пробелами, по три в каждой строке. Пустое место отмечается цифрой “0”.
Выходной файл:
Первая строка содержит количество шагов.
Остальные строки должны содержать все последовательные перемещения квадратов, до получения упорядоченной последовательности. Перемещение записывается в виде пары чисел - координат строки (нумерация сверху-вниз) и столбца (нумерация слева-направо) передвигаемого квадрата, разделенных пробелом (см. рисунок).
Пример:
Input.txt
1 2 3
0 4 6
7 5 8
Output.txt
3
2 2
3 2
3 3
Б. Двоичная система
Максимальное время: 0,3 с.
Максимальная память: 8 MB
Составить программу для перевода числа N (0 N 231-1) из десятичной системы счисления в двоичную систему счисления.
Входной файл содержит исходное число, представленное в десятичной системе счисления.
Выходной файл должен содержать исходное число, представленное в двоичной системе счисления.
Пример:
Input.txt
1981
Output.txt
11110111101
В. Квадрат числа
Максимальное время: 0,3 с.
Максимальная память: 8 MB
Дано натуральное число N. На интервале от 1 до N найти все такие числа, запись которых совпадает с последними цифрами записи их квадрата.
Входной файл содержит натуральное число N (1 N 10000).
Выходной файл должен содержать все числа в возрастающем порядке, запись которых совпадает с последними цифрами записи их квадрата. Числа должны быть разделены между собой одним пробелом.
Пример:
Input.txt
30
Output.txt
1 5 6 25
Г. Массив
Максимальное время: 1 с.
Максимальная память: 10 MB
Задан одномерный массив натуральных чисел размером N. Определить количество неповторяющихся чисел заданного массива.
Входной файл
Первая строка содержит натуральное число N (1 N 50000).
Вторая строка содержит N целых чисел Mi, разделенные пробелами (1 i N; |Mi| 109). Гарантируется, что количество неповторяющихся чисел не превышает 500.
Выходной файл должен содержать:
в первой строке - количество неповторяющихся чисел;
во второй строке - все неповторяющиеся числа, разделенные между собой одним пробелом, в порядке их первого вхождения в исходный массив.
Пример:
Input.txt
10
4 2 3 2 5 4 1 5 1 3
Output.txt
5
4 2 3 5 1
Д. Матрица
Максимальное время: 0,5 с.
Максимальная память: 10 MB
Составить программу, которая упорядочивает по убыванию элементы каждого столбца заданной целочисленной матрицы.
Входной файл
В первой строке содержаться два целых числа M и N - число строк и столбцов матрицы соответственно, разделенные пробелом (1 M, N 100).
В последующих M строках записывается исходная матрица. Элементы матрицы разделяются пробелами и не превышают по абсолютному значению 10000.
Выходной файл должен содержать матрицу, состоящую из M строк и N столбцов, в которой элементы в столбцах упорядочены по убыванию. Элементы матрицы разделяются между собой одним пробелом.
Пример:
Input.txt
4 4
1 2 4 7
3 4 7 8
2 3 5 6
4 5 6 5
Output.txt
4 5 7 8
3 4 6 7
2 3 5 6
1 2 4 5
Е. Одинаковые числа
Максимальное время: 0,3 с.
Максимальная память: 8 MB
Задан массив из пяти произвольных целых чисел. Если среди них одинаковы 5 чисел, то вывести 1, иначе, если одинаковы 4 числа, то вывести 2, иначе, если одинаковы 3 числа, то вывести 3, иначе, если одинаковы 2 числа, то вывести 4, иначе вывести число 5.
Входной файл содержит пять целых чисел, не превышающих по абсолютному значению 109, разделенных между собой одним пробелом.
Выходной файл должен содержать целое число от 1 до 5.
Пример 1:
Input.txt
1 1 1 1 1
Output.txt
1
Пример 2:
Input.txt
1 2 3 4 5
Output.txt
5
Ж. Слова
Максимальное время: 0,3 с.
Максимальная память: 8 MB
Составить программу нахождения самого длинного общего слова из двух заданных предложений. Если имеется несколько слов максимальной длины, выдать то, которое находится раньше в первой строке. Если такого слова нет, то выдавать сообщение "совпадений нет" (без кавычек). Необходимо учитывать различия между строчными и прописными буквами.
Входной файл
Содержит две строки, в каждой из которых записано по одному предложению. Слова в предложении разделены пробелами (возможно несколькими). В конце предложения ставится точка. Длина строки не превышает 255 символов.
Выходной файл должен содержать самое длинное общее слово или сообщение "совпадений нет" (без кавычек), если общих слов нет.
Пример:
Input.txt
В лесу зимой родилась елочка.
Маленькая елочка мерзнет зимой.
Output.txt
елочка
З. Сумма
Максимальное время: 0,5 с.
Максимальная память: 8 MB
Составить программу нахождения суммы всех целых чисел, лежащих между 1 и N, включая границы.
Входной файл содержит целое число N (|N| 10000).
Выходной файл должен содержать число, которое является суммой всех целых чисел, лежащих между 1 и N, включая границы.
Пример 1:
Input.txt
2
Output.txt
3
Пример 2:
Input.txt
-3
Output.txt
-5
И. Треугольник
Максимальное время: 0,3 с.
Максимальная память: 8 MB
Заданы координаты 6 точек - концов трех отрезков. Если линии (продолжение отрезков или сами отрезки) попарно пересекаются, то найти площадь образованного треугольника.
Входной файл состоит из трех строк, каждая из которых содержит координаты концов одного отрезка - четыре целых числа, по модулю не превышающие 1000, которые записываются в формате "X1 Y1 X2 Y2".
Выходной файл должен содержать значение площади треугольника с точностью до трех знаков после запятой (в качестве разделителя дробной и целой части используется точка). Если треугольник построить невозможно, то файл содержит сообщение "IMPOSSIBLE" (без кавычек).
Пример 1:
Input.txt
0 0 4 3
0 0 4 0
4 0 4 3
Output.txt
6.000
Пример 2:
Input.txt
0 0 4 3
0 -3 4 0
4 0 4 3
Output.txt
IMPOSSIBLE
К. Японский календарь
Максимальное время: 0,3 с.
Максимальная память: 8 MB
В старояпонском календаре был принят 60-летний цикл, состоявший из пяти 12-летних подциклов. Подциклы обозначались названиями цвета в следующем порядке: зеленый, красный, желтый, белый и черный. Внутри каждого подцикла годы носили названия животных в следующем порядке: крыса, корова, тигр, заяц, дракон, змея, лошадь, овца, обезьяна, курица, собака и свинья.
В качестве отсчета может быть взят 1984 год - год зеленой крысы.
Составить программу, которая для заданного года N определяет его название по старояпонскому календарю.
Входной файл содержит заданный год N (0 N 2100).
Выходной файл должен содержать две строки: название подцикла и название года.
Пример:
Input.txt
1984
Output.txt
зеленый
крыса
Страница из