Есенно състезание по информатика, Шумен, 24 ноември 2001 г.
Тема за 9 – 10 клас
Задача 1. MINSUM
Дадена е съвкупност от N цели числа (1 < N < 30000). Всяко число от тази съвкупност не надминава 30000 по абсолютна стойност. Да се напише програма MINSUM.EXE, която намира две числа x и y измежду дадените, такива че изразът | x + y | да има най-малка стойност.
Входните данни са дадени във файла MINSUM.INP. В първия ред на файла е записано числото N. Следват N на брой реда, във всеки от които е записано по едно число от дадената съвкупност.
Вашата програма трябва да запише изходните си данни като 3 цели числа, разделени с по една шпация в един ред на файл с име MINSUM.OUТ. Първите две от числата трябва да бъдат тези от дадените, за които се достига търсената минимална стойност, а третото число да е равно на тази стойност.
Пример:
MINSUM.INP
5
1
3
-2
-2
3
MINSUM.OUT
1 -2 1
Време за работа на програмата 2 сек. (200 MHz, 16 MB RAM)
Есенно състезание по информатика, Шумен, 24 ноември 2001 г.
Тема за 9 – 10 клас
Задача 2. STRING
Разглеждаме знаците 0, 1, 2, ..., K (0 < K < 4). Дадено е цяло положително число M (1 < M < 7). Напишете програма STRING.EXE, която генерира низ, съдържащ дадените знаци и имащ възможно най-малка дължина, така че този низ да съдържа като поднизове всички възможни низове с дължина М, съставени от дадените знаци.
Входните данни са записани във файла STRING.INP. Файлът съдържа един ред, в който са записани целите числа К и M, разделени с една шпация.
Вашата програма трябва да запише изходните си данни във файла STRING.OUТ. В първия ред на файла трябва да е записано едно цяло число, равно на дължината на генерирания низ от вашата програма. Във втория ред на файла трябва да е записан генерирания низ като последователност от знаци, без разделящи ги шпации.
Пример:
STRING.INP
1 2
STRING.OUT
5
11001
Време за работа на програмата 10 сек. (200 MHz, 16 MB RAM)
Есенно състезание по информатика, Шумен, 24 ноември 2001 г.
Тема за 9 – 10 клас
Задача 3. SQUARE
Дадена е матрица с размери m реда на n стълба, 1 < n < 80, 1 < m < 80, съдържаща неотрицателни цели числа, ненадминаващи 99. Напишете програма SQUARE.EXE, която намира една нейна квадратна подматрица, съдържаща само положителни числа с възможно най-голяма тяхна сума.
Входните данни са записани във файла SQUARE.INP. В първия му ред са дадени целите положителни числа m и n, разделени с една шпация. Дадената матрица се задава от следващите m реда, във всеки от които са записани n неотрицателни цели числа, разделени с по една шпация.
Вашата програма трябва да запише изходните си данни в първия ред на файла SQUARE.OUT като едно цяло число, което е равно на сумата от елементите в намерената квадратна подматрица.
Пример:
SQUARE.INP
2 3
1 2 0
1 1 1
SQUARE.OUT
5
Време за работа на програмата 1 сек. (200 MHz, 16 MB RAM)