Помогите решить задачки

Правка ru3, от I_love_Malika, 2015-11-25 09:17:29

Приветствую, сообщество codeforces!

Недавно проходил интервью в одну локальную компанию, где мне дали задание на codility, и я был немного удивлен списком задач, которые я получил. Мне показались они сложными. Я смог решить только 1 из 3, на остальные 2 написал решения для маленьких ограничений, чтобы было хотя бы что-то.

Теперь хотел бы попросить у Вас помощи, идеи или подходы как решить эти задачи.

Задача1

1) Дано бесконечное поле на которой стоит конь (0, 0). Надо дойти до (A, B) -10^8 <= A, B <= 10^8, если невозможно возвратить -1, если количество шагов больше чем 10^8, возвратить -2

Задача2

2) Дана система счисления с основанием -2. Примеры: 011 — это будет 0 * (-2)^0 + 1 * (-2)^1 + 1 * (-2) ^ 2 = 2 0011 — это будет 0 * (-2) ^ 0 + 0 * (-2) ^ 1 + 1 * (-2) ^ 2 + 1 * (-2) ^ 3 = -4

Дан массив состоящий из 0 и 1 размером 1 < size < 10 ^ 5. Нужно возвратить массив состоящий из 0 и 1, только обозначющей отрицательное значение, полученное из изначального массива.

Примеры 11011 = 7, нужно возвратить 1001 = -7 1111 = -5, нужно возвратить 101 = 5

Здесь я сгенерировал все возвможные маски, чтобы увидеть какую-нибудь закономерность, но, к сожалению, ничего стоящего не придумал.

Заранее спасибо за вашу помощь!

UPD: длина, получившегося во второй задаче массива, должна быть минимальной

Теги интервью, задачки

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
ru3 Русский I_love_Malika 2015-11-25 09:17:29 81
ru2 Русский I_love_Malika 2015-11-25 06:36:32 1 Мелкая правка: 'тво codefoces!\n\nНе' -> 'тво codeforces!\n\nНе' (опубликовано)
ru1 Русский I_love_Malika 2015-11-25 06:35:32 1312 Первая редакция (сохранено в черновиках)