I_love_Malika's blog

By I_love_Malika, history, 9 years ago, In Russian

Приветствую, сообщество 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: длина, получившегося во второй задаче массива, должна быть минимальной

  • Vote: I like it
  • -8
  • Vote: I do not like it