1

(5 ответов, оставленных в Problems)

Ошибку нашел. Она была связана с тем, что указатель root в main() был ненулевым, а также необходимо было удалять элемент перед добавлением ( как Вы писали выше ).

Спасибо!

2

(5 ответов, оставленных в Problems)

То есть код правильный? Хм... Спасибо, буду искать %)

3

(5 ответов, оставленных в Problems)

Я тоже сначала так подумал, но тогда я добавил перед добавлением элемента его удаление, но все равно неправильный ответ на том же тесте.

4

(5 ответов, оставленных в Problems)

Добрый день!
Не могу понять почему данное решение проходит в контесте 20 тестов и дальше валится с неправильным ответом. Код переделывал на си с этого сайта, почти точь-в-точь.

Мое решение

Условие задачи. Задана последовательность команд (каждая в отдельной строке), которые необходимо выполнить.
A key data - добавляет элемент в дерево с ключом key и данными data (если элемент существует, то просто перезаписать поле data),
D key, S key - удаляет и ищет соответственно.
F - освобождает память, занимаемую деревом. Всегда идет в конце.

key, data - 32-битные целые числа.

Примеры:
Вход:
A 10 20
A 20 30
S 10
D 20
S 20
F
Выход:
10 20

Вход:
A 20 30
S 20
A 20 50
D 10
S 20
F
Выход:
20 30
20 50