Есенно състезание по информатика, Шумен, 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)

 

 

ОБРАТНО