Musala Soft Logo Конкурс по програмиране на Musala Soft и PC Magazine Bulgaria PC Magazine Bulgaria Logo
  Състезателна система
Сезон 2010 - 2011
Сезон 2009 - 2010
Сезон 2008 - 2009
Сезон 2007 - 2008
Сезон 2006 - 2007
Сезон 2005 - 2006
Сезон 2004 - 2005
Сезон 2003 - 2004
Сезон 2002 - 2003
Сезон 2001 - 2002
Правила
Задача 1
Задача 2
Задача 3
Задача 4
Задача 5
Задача 6
Класиране
Финален кръг
Сезон 2000 - 2001
Задача 1 от брой 10/2001 - БАНКА

Условие на задача 1:
"Банка има много клонове на различни места по света, като всички те са свързани с централния офис на банката. Всеки клон изпраща заявки с различни приоритети към централния офис, като във всеки един момент различните необработени заявки на един и същи клон на банката имат различен приоритет ..."

Пълното условие на задачата (RTF Format) можете да намерите в брой 10/2001 на списание PC Magazine или да свалите от тази страница.

Коментар по условието на задача 1:
Изглежда, че изречението "В първия момент на пристигане на заявки се обслужва заявката постъпила от клона с най-малък номер, която има най-голям приоритет." не е напълно ясно за всички участници - първо се избира клонът с най-малък номер измежду всички клонове, от които са постъпили заявки; и после се избира заявката с най-висок приоритет измежду всички заявки, постъпили от вече избрания клон.

Пример:
BANK.INP
3
3 6
1 4
2 6
1 1
3 2
0 0
-1 -1
  BANK.OUT
1 4
2 6
3 6
1 1
3 2
-1 -1

Класиране:

-Място Име Град Общо Време
1 Камен Добрев София 20 17,18
2 Янислав Янков В.Търново 20 35,40
3 Валентин Цеков В. Търново 18 -
3 Григор Илиев Сандански 18 -
3 Димитър Ковачев София 18 -
3 Иван Дилов София 18 -
3 Илиян Ненов Русе 18 -
3 Кирил Минков Пловдив 18 -
3 Красимир Семерджиев София 18 -
3 Мариан Загорски Пловдив 18 -
3 Мартин Вълканов София 18 -
3 Мила Кацарова София 18 -
3 Николай Николов Ямбол 18 -
3 Николай Чилев София 18 -
3 Петко Минков Пловдив 18 -
3 Петър Петров София 18 -
3 Трифон Трифонов Варна 18 -
18 Георги Цанков София 17 -
18 Николай Тодоров София 17 -
20 Иван Георгиев Бургас 15 -
20 Свилен Колев София 15 -
22 Мартин Чилев В.Търново 14 -
22 Славяна Генинска Враца 14 -
24 Иво Петков Варна 13 -
24 Никола Арнаудов София 13 -
24 Петър Петров Шумен 13 -
24 Радослав Герганов София 13 -
24 Свилен Стоянов Шумен 13 -
29 Владимир Недев Варна 12 -
29 Евтим Георгиев Плевен 12 -
29 Никола Момчев София 12 -
29 Янко Жеков Шумен 12 -
33 Андрей Николов София 11 -
33 Валери Цеков Грамада 11 -
33 Велин Цанов София 11 -
33 Динко Иванов София 11 -
33 Стоян Йорданов София 11 -
38 Илиян Илиев София 10 -
38 Йордан Илчев Варна 10 -
38 Христо Йончев София 10 -
41 Александър Мавров Ямбол 9 -
41 Владимир Молотков София 9 -
41 Иван Попов София 9 -
41 Иван Станишев Габрово 9 -
41 Николай Събев Ст. Загора 9 -
46 Богдан Шарков София 8 -
46 Борис Караберберов Перник 8 -
46 Даниел Трифонов Балчик 8 -
46 Деян Баргански София 8 -
46 Иван Анев София 8 -
46 Петър Кормушев София 8 -
52 Димитър Димитров Добрич 7 -
52 Евгени Петков Плевен 7 -
52 Илия Трендафилов Габрово 7 -
52 Мартин Карамихов Раднево 7 -
52 Недко Маринов София 7 -
52 Ясен Маймунков Хасково 7 -
58 Атанас Марков Пловдив 6** -
58 Виктор Милев София 6 -
58 Георги Мънгов Варна 6 -
58 Георги Русев Габрово 6 -
58 Деян Ламбов Пловдив 6 -
58 Милослав Средков Бургас 6 -
58 Николай Маринов Шумен 6 -
58 Петър Димов Пловдив 6 -
58 Петър Пенчев София 6* -
67 Борис Янков Пловдив 5 -
67 Владимир Димчев София 5 -
67 Даниел Симеонов Габрово 5 -
67 Деян Витанов Бургас 5 -
67 Ивайло Гелов София 5 -
67 Любомир Митев София 5 -
67 Павел Йорданов Пловдив 5 -
67 Павел Каназирев Ямбол 5 -
67 Станислав Ботев София 5 -
67 Тихомир Върбанов София 5 -
67 Юлиян Пастърмов В.Търново 5 -
78 Александър Вълканов Бургас 4 -
78 Боян Ангелов София 4 -
78 Бранимир Иванов София 4 -
78 Владимир Висулчев София 4 -
78 Илия Йорданов Бургас 4 -
78 Мартин Параскевов София 4 -
78 Николай Бачийски Г.Оряховица 4 -
78 Тодор Манев В.Търново 4 -
78 Тодор Тодоров Шумен 4 -
78 ФилипЙорданов В.Търново 4 -
88 Емил Величков Добрич 3 -
88 Нено Димитров София 3 -
90 Владимир Йотов В. Търново 2 -
90 Кирил Тодоров София 2* -
92 Владислав Велков София 1 -
93 Александър Ангелов Пловдив 0 -
93 Атанас Крачев Ст. Загора 0 -
93 Валентин Михов Варна 0 -
93 Венелин Кехайов Пловдив 0 -
93 Севдалина Георгиева Варна 0 -

*Точките на Кирил Тодоров и Петър Пенчев са намалени с 30% заради неправилни входни/изходни файлове.
**Точките на Атанас Марков са намалени с 50% (30% заради неправилен входен файл и 20% за използването на user interface)

Също така, можете да видите и пълното класиране по тестове.

Тестове:
Тестовете, въз основа на които журито е формирало класирането, са достъпни за всички. Можете да ги намерите чрез съответния линк.

Коментар по решението и резултатите на участниците:
Още първата задача постави рекорд по участие – при общо 61 участници във всички кръгове на миналогодишния Конкурс, решение на първа задача изпратиха 98 участници. Две от получените решения заслужиха максималния брой точки – решението на Камен Добрев от София и на Янислав Янков от Велико Търново. В решението на Камен Добрев е използвана типична реализацията на приоритетна опашка за поддръжка на необработените заявки от всеки клон, а за бързо намиране на следващия клон, от който да бъде обслужена заявка, се използва собствен "трик" (обяснението на решението на Камен може да се намери в анализа на задачата по-долу). Решението на Янислав Янков е реализирано с Delphi, но с използване на асемблерни подпрограми. Това "скрива" до голяма степен използваните структури от данни и не можем да ги коментираме. При сравняването по сумарно време за изпълнението на всички тестове, решението на Камен Добрев е малко повече от два пъти по-бързо и затова той е победител в първия кръг на Конкурса.

Предлагаме Ви и анализ на задача 1.


Задача 1 (Банка) - участници (по дата и час на последното получено решение):
 1. Нено Димитров - София - 22.10.2001, 08:21
 2. Боян Ангелов - София - 29.10.2001, 13:39
 3. Динко Иванов - София - 29.10.2001, 19:00
 4. Николай Събев - Стара Загора - 01.11.2001, 01:23
 5. Мартин Чилев - Велико Търново - 02.11.2001, 09:48
 6. Николай Чилев - София - 02.11.2001, 10:31
 7. Мартин Вълканов - София - 04.11.2001, 09:19
 8. Петко Минков - Пловдив - 04.11.2001, 12:36
 9. Любомир Митев - София - 04.11.2001, 15:13
10. Свилен Стоянов - Шумен - 04.11.2001, 22:02
11. Иво Гелов - София - 05.11.2001, 12:35
12. Илиян Ненов - Русе - 05.11.2001, 19:07
13. Никола Арнаудов - София - 05.11.2001, 22:25
14. Иван Дилов - София - 06.11.2001, 00:49
15. Андрей Николов - София - 06.11.2001, 16:35
16. Свилен Колев - София - 06.11.2001, 22:18
17. Николай Тодоров - София - 07.11.2001, 00:25
18. Димитър Димитров - Добрич - 07.11.2001, 12:07
19. Богдан Шарков - София - 07.11.2001, 22:49
20. Кирил Минков - Пловдив - 08.11.2001, 11:41
21. Севдалина Георгиева - Аксаково - 08.11.2001, 16:48
22. Владимир Висулчев - София - 08.11.2001, 17:44
23. Валери Цеков - Грамада - 08.11.2001, 20:00
24. Петър Димов - Пловдив - 09.11.2001, 12:57
25. Димитър Ковачев - София - 09.11.2001, 18:47
26. Александър Вълканов - Бургас - 09.11.2001, 22:34
27. Петър Петров - Шумен - 10.11.2001, 12:11
28. Йордан Илчев - Варна - 10.11.2001, 18:04
29. Григор Илиев - Сандански - 11.11.2001, 12:52
30. Валентин Цеков - Велико Търново - 11.11.2001, 13:40
31. Илия Трендафилов - Габрово - 11.11.2001, 18:39
32. Стоян Йорданов - София - 11.11.2001, 20:11
33. Тодор Тодоров - Шумен - 11.11.2001, 21:42
34. Петър Петров - София - 12.11.2001, 00:01
35. Илиян Илиев - София - 12.11.2001, 11:35
36. Владимир Димчев - София - 12.11.2001, 14:23
37. Тодор Манев - Велико Търново - 12.11.2001, 17:21
38. Георги Цанков - София - 12.11.2001, 22:52
39. Кирил Тодоров - София - 12.11.2001, 23:58
40. Радослав Герганов - София - 13.11.2001, 12:09
41. Велин Цанов - София - 13.11.2001, 19:41
42. Николай Маринов - Шумен - 13.11.2001, 21:15
43. Владимир Йотов - Велико Търново - 13.11.2001, 22:12
44. Иван Георгиев - Бургас - 13.11.2001, 23:15
45. Иво Петков - Варна - 13.11.2001, 23:28
46. Иван Попов - София - 14.11.2001, 02:50
47. Павел Каназирев - Ямбол - 14.11.2001, 09:55
48. Евгени Петков - Плевен - 14.11.2001, 11:03
49. Иван Станишев - Габрово - 14.11.2001, 11:15
50. Станислав Ботев - София - 14.11.2001, 13:19
51. Александър Мавров - Ямбол - 14.11.2001, 13:38
52. Николай Бачийски - Горна Оряховица - 14.11.2001, 14:16
53. Атанас Марков - Пловдив - 14.11.2001, 15:36
54. Бранимир Иванов - София - 14.11.2001, 17:35
55. Филип Йорданов - Велико Търново - 14.11.2001, 18:21
56. Деян Витанов - Бургас - 14.11.2001, 18:50
57. Емил Величков - Добрич - 14.11.2001, 20:42
58. Юлиян Пастърмов - Велико Търново - 14.11.2001, 20:43
59. Трифон Трифонов - Варна - 14.11.2001, 21:03
60. Атанас Крачев - Стара Загора - 14.11.2001, 21:46
61. Виктор Милев - София - 14.11.2001, 21:50
62. Александър Ангелов - Пловдив - 14.11.2001, 22:32
63. Янислав Янков - Велико Търново - 14.11.2001, 23:01
64. Илия Йорданов - Бургас - 14.11.2001, 23:33
65. Мартин Параскевов - София - 15.11.2001, 00:15
66. Николай Николов - Ямбол - 15.11.2001, 01:38
67. Милослав Средков - Бургас - 15.11.2001, 02:36
68. Валентин Михов - Варна - 15.11.2001, 07:33
69. Мариан Загорски - Пловдив - 15.11.2001, 09:14
70. Венелин Кехайов - Пловдив - 15.11.2001, 09:27
71. Георги Русев - Габрово - 15.11.2001, 09:51
72. Ясен Маймунков - Хасково - 15.11.2001, 12:27
73. Владимир Недев - Варна - 15.11.2001, 12:31
74. Иван Анев - София - 15.11.2001, 13:08
75. Петър Пентчев - София - 15.11.2001, 14:24
76. Петър Кормушев - София - 15.11.2001, 14:47
77. Борис Янков - Пловдив - 15.11.2001, 14:51
78. Деян Ламбов - Пловдив - 15.11.2001, 14:59
79. Евтим Георгиев - Плевен - 15.11.2001, 15:03
80. Тихомир Върбанов - София - 15.11.2001, 15:20
81. Мила Кацарова - София - 15.11.2001, 15:37
82. Деян Баргански - София - 15.11.2001, 15:43
83. Мартин Карамихов - Стара Загора - 15.11.2001, 17:10
84. Христо Йончев - София - 15.11.2001, 18:13
85. Борис Караберберов - Перник - 15.11.2001, 18:15
86. Даниел Симеонов - Габрово - 15.11.2001, 18:20
87. Павел Йорданов - Габрово - 15.11.2001, 18:32
88. Владислав Велков - София - 15.11.2001, 18:38
89. Никола Момчев - София - 15.11.2001, 18:54
90. Красимир Семерджиев - София - 15.11.2001, 20:29
91. Славяна Генинска - Враца - 15.11.2001, 21:00
92. Камен Добрев - София - 15.11.2001, 21:46
93. Владимир Молотков - София - 15.11.2001, 22:47
94. Янко Жеков - Шумен - 15.11.2001, 23:48
95. Даниел Трифонов - Балчик - 15.11.2001, 24:00
96. Георги Мънгов - Варна - 15.11.2001, 24:00
97. Недко Маринов - София - 15.11.2001, 24:00
98. Ясен Атанасов - София - 16.11.2001, 18:41


Решения на всички участници:
За да може всеки лично да се убеди защо класирането е такова и защо има X, а не Y точки, публикуваме всички изпратени решения заедно с изходните кодове на всички програми (с изключение на тези, които пожелаха сорсът им да не се публикува).
За всеки участник е създаден и един .log файл, който отразява как са преминали тестовете върху програмата му. Въпросният .log файл се дава само за да добиете представа защо получавате точките, които са ви дадени, но не винаги отразява точната причина за провала на тестовете. Имайте предвид това.


Контестации:
Контестации могат да се подават от всички участници, стига да са основателни. Ще се разглеждат само претенции на участници, които са оценени неправилно в резултат от грешка на журито. Моля преди да изпратите контестация, внимателно прочетете условието на задачата за да прецените дали тя е основателна. Журито ще отговори на всички ваши въпроси, свързани с оценяването.

За въпроси можете да ни пишете на адрес: konkurs@musala.com.

Supported by Musala Soft Ltd.

Copyright 2000-2010 by Musala Soft Ltd. All rights reserved.