Выбрать главу
50*. MARK1997. Квадрат чисел

Задана квадратная таблица чисел. Размер таблицы нечётный. Движение начинается из центра. Двигаться можно вправо, влево, вверх и вниз. По ходу движения суммируются числа, записанные в клетках пути следования. Движение заканчивается на стороне квадрата.

Написать программу, которая сообщит минимальную сумму.

ТЕХНИЧЕСКОЕ ЗАДАНИЕ.

Заданный квадрат хранится в файле. Файл устроен следующим образом:

<Размер квадрата>

<Число> <Число> . . . <Число>

<Число> <Число> . . . <Число>

. . .

<Число> <Число> . . . <Число>

Все числа натуральные, не больше 200. Разделителями являются пробелы. Количество чисел в строке и количество строк совпадает с размером квадрата. Размер таблицы не больше 100.

Программа должна запросить имя файла с описанием квадрата и напечатать длину кратчайшего пути.

ПРИМЕР.

В файле:

5

20 13 23 12 18

6 14 3 17 11

21 2 1 4 25

7 15 5 16 10

22 8 19 9 24

Ответ: 23

Тесты

Метод использования тестов

Тесты надо проверять с первого до поседнего, подряд. Программа на каждом тесте должна работать не более указанного времени. Если время тестирования ограничено 0 секунд, это значит, что программа должна работать мгновенно.

Для каждого теста приведена его стоимость в процентах.

После проверки можно сложитьпроценты всех пройденных тестов и получить процент решения задачи.

По способам оценки можно выделить две основные группы тестов и по две разновидности в этих группах.

Первая группа. К первой группе можно отнести тесты, в которых сложность оценивается после тестирования программы (чаще нескольких программ). Тест считается более сложным, если программа (лучше несколько) проходит его с большими трудностями. Разновидности отличаются оценкой сложных и простых тестов.

Вторая группа. Тесты, ценность которых определяется до тестирования. Разновидности отличаются так же, как и в первой группе, но не по сложности, а по общности.

В этом задачнике тесты, очевидно, относятся ко второй группе. Наиболее общие тесты оценены выше.

1.Привет

ответ очевиден.

2.здравствуй

ответ очевиден.

3. Арифметика

а)14; б)5202;

в)12254; г)-19961;

д)4293; е)-3878;

ж)19812; з)-1031.

4. Вежливое приветствие

ответ очевиден.

5. Вежливое приветствие с восклицательным знаком

ответ очевиден.

6. Сумма

N

Вход

Выход

Ценность в процентах

0

15

12

27

1%

1

2

3

5

33%

2

1

-1

0

33%

3

-10

-20

-30

33%

Время работы программы 0 секунд.

7.Сумма чисел.

N

Вход

Выход

Ценность в процентах

0

15 12

15 + 12 = 27

1%

1

3 2

3 + 2 = 5

33%

2

-1 1

-1 + 1 = 0

33%

3

-100 -32

-100 + -32 = -132

33%

Время работы программы 0 секунд

8. Длинна строки

N

Вход

Выход

Ценность

в процентах

0

Мама мыла раму

В строке:

"Мама мыла раму" символов: 14

1%

1

Тест

В строке:

Тест символов: 4

25%

2

Test only

В строке:

Test only сим волов: 9

25%

3

В строке:

символов: 0

24%

4

1

В строке:

1 символов: 1

25%

Время работы программы 0 секунд

Пупышев Вячеслав Викторович

50 задач по началам программирования

в авторской редакции

корректор Е. Ф. Осипова

http://ulm.uni.udm.ru/~pvv/packst/

ЛР № 020411 от 16.02.97. Сдано в производство 01.03.99.

Формат 60 х 84 1/18. Печать офсетная.

Уч. изд. л. 3,9. Усл. печ. л. Заказ № 34. Тираж 300.

Издательский дом Удмуртский университет.

426011, г. Ижевск, ул. Майская 23.