Новинарски форум

Първо състезание

Re: Първо състезание

by Мартин Тошев -
Number of replies: 0

   Поздравления за усилието на всички. Тестовете на задачите са качени в муудъл, ако някой иска да си тества допълнително решението. Кратки решения на задачите:

1) Палиндром - пазите си броя на всяка една буква от низа в масив (с размер 26 елемента), при което ако може да се построи палиндром, то не повече от 1 буква може да се среща нечетен брой пъти (и ако има такава - тя стои по средата на палиндрома)

2) Дървета - двоично търсене по отговора на задачата (между 0 и достатъчно голяма стойност) - в хода на двоичното търсене проверявате дали средния елемент удовлетворява условието на задачата. Трябва да се направят две двоични - съответно за растяща/намаляваща редица

3) Салса - сортирате мъжете и жените в два отделни масива с count sort още при четене и накрая прилагате процедурата от merge sort за сливане на две сортирани последователности,за да намерите търсения резултат. 

4) Бързане - обхождане в ширина, при което за всеки наследник на текущо обходения връх присвоявате родител и минимален път до него от първоначалния. Обхождането приключва когато върха N стане текущ. Задачата, разбира се, може и да се реши с модификация на Дейкстра.

5) Минимален път в граф - директно Флойд-Уоршал, след което заявките се изпълняват за константно време.

Поздрави,
Мартин