Comments 716
У нас трое тестеров прошли вроде без подсказок.
Все почему-то спотыкаются на этом.
Внимательнее посмотрите порядок действий.
UPD: точнее ответ не принимает… :)
UPD2: снят вопрос…
Увы, я не застал и вроде раскодировал, но ответ не принимает(
Пожалуйста! :)
А в ответ ничто не принимает. )
всё гуд
Я с компьютера. С ФФ и Хрома — одно и то же.
@media (max-width: 1200px) {
#container {
display: none !important;
}
Если окно имеет ширину меньше 1200 пикселей, то вы сидите не с десктопа. Ведь не существует пользователей, которые не разворачивают браузер на весь экран.
Это сообщение должен был увидеть только первый
Теперь все ОК
Кто его словил просто перейдите puzzle.mail.ru и у вас будет 16й
И за инвайт спасибо, конечно же :)
Во вторую часть вопроса прошел, чуток накосячил, теперь опять пройти не могу
Я глюканутый?
ps. Или это капча специально?
Не думал, что такая проблема будет с этим заданием в техническом плане.
Можно воспользоваться http://www.speedpaint.info/
UPD: у Bicket Fill в GIMP требуется подкрутить настройки инструмента, чтобы добиться аналогичного результата.
А то многие я смотрю запнулись.
Улица в Москве.
У меня примерно тоже самое на 20м. Какой-то кроссворд. И что с ним делать — хз. )
Это не кроссворд, а чередование чёрного и белого...
gopher://donkeyhot.org
Через lynx прошёл туда и получил подсказку.
Правда она не помогла. Решил, поглядев на название рисунка.
Вместо Lynx'а можно воспользоваться прокси.
подсказка: Если координаты у вас получаются не в Москве, значит вы что-то делаете не так.
$GPGGA,160042,5547.48916,N,03732.94132,E,1,08,0.9,188.3,M,13.3,M,,*48
$GPGGA,160043,5547.48916,N,03732.94132,E,1,08,0.9,188.3,M,13.3,M,,*48
$GPGGA,160044,5547.48916,N,03732.94132,E,1,08,0.9,188.3,M,13.3,M,,*48
заранее спасибо
Что со мной не так…
Лично я не понял как ответ связан с этими подсказками.
Если что — я писал этот коммент уже после того, как рашил задачу ;) Единственная логчиеская цепочка — это то, что аббревиатура и первые буквы, но как связано ПО мыла и американсякая организация — вообще не пойму.
Даже не представляю что там у америкосов творится =) Но допустим
Попробуйте этот сервис. И внимательно читайте подсказки.
Это весьма специфичный алфавит.
что-то я не догоняю логику 9 вопроса(((
а судя по постам, все уже квест прошли
и пингать не надо втыкаем прямо в барузер
+1. Есть вообще хоть какие-то идеи?
Судя по коду — кнопки разблокируются только при http запросе с "взяткой", но там авторедирект на https. Попробовал через iframe, подумал что в этом и прикол — тоже самое. А мыслей по поводу кроссворда — никаких.
Арт красивый, а вот сути не пойму :(
Вроде вторую букву взять надо…
Текст в хекс не получается
#coffee не работает
Ascii арт непонятный
ну или pow(coffee, 2)
Че там с ascii я сам не понял
В общем, тупо отредактировал оба свойства руками в «Инструментах веб-разработки», чтобы отправить ответ )
Из Описание NMEA протокола получил координаты, ввожу в
Google и
Яндекс
отправляет в поселение Краснопахорское
Попробуйте другой конвертер.
генерирует непонятные фразы. по ссылке был. это название игры майл.ру где так разговаривают?? )))
походу нужно реально знать контент тех игр чтоб отгадать (
function makeArray(){
var a = []
for(var x = 1; x<=5; x++){
addNumber(a);
}
return a;
}
function addNumber(array){
var added = false;
while(!added){
var n = number()
if(!inArr(n, array)){
array.push(n);
added = true
}
}
}
function inArr(number, array){
return array.indexOf(number) != -1
}
function number() {
return Math.round(Math.random()*8)+1
}
function equals(a){
var x = a[2].toString()+a[1]+a[2]+a[3];
var y = a[4].toString()+a[1]+a[2]+a[2];
var z = a[0].toString()+a[0]+a[4]+a[1]+9;
var result = (parseInt(x)+parseInt(y) == parseInt(z))
if(result){
console.log(x)
console.log(y)
console.log(z)
console.log(a)
}
return result
}
while(true){
var e = equals(makeArray())
if(e){
console.log("FOUND")
break;
}
console.log(".")
}
for(c=0;c<10;c++)
for(d=0;d<10;d++)
for(e=0;e<10;e++){
if (c*1021 + e*1000 + b*200 + d == 11009 + e*100 + b*10)
console.log(1,b,c,d,e);
}
for x in range(1000, 9999):
for y in range(1000, 9999):
if str(x+y)[-1] == "9":
#print (x+y)
if str(x)[-3] == str(y)[-3]:
if str(x)[-2] == str(y)[-2]:
if str(x)[0] == str(y)[-1]:
if str(y)[1] == str(x+y)[-2]:
if str(y)[0] == str(x+y)[-3]:
if str(y)[-1] == str(y)[-2]:
if str(x+y)[0] == str(x+y)[1]:
print("result=",x,y)
('result=', 4845, 6844)
('result=', 6263, 5266)
perl -e 'for $a(1..9){for $b(1..9){for $c(1..9){for $d(1..9){for $e(1..9){if((($c.$b.$c.$d)+($e.$b.$c.$c))==($a.$a.$e.$b."9")){print "a: $a b: $b c: $c d: $d e: $e\n";}}}}}}'
А комменты мне напомнили «Записки невесты программиста», эпизод подготовки приглашений
get_e = lambda b: b+b
get_a = lambda pair, e: pair[1] + e
In [30]: pairs = ((0, 9), (1, 8), (2, 7), (3, 6), (4, 5), (5, 4), (6, 3), (7, 2), (8, 1), (9, 0))
In [31]: for pair in pairs:
...: d, c = pair
...: b = get_b(pair)
...: e = get_e(b)
...: a = get_a(pair, e)
...: print 'a: {0}, b: {1}, c: {2}, d: {3}, e: {4}'.format(a,b,c,d,e)
...: x = int('{}{}{}{}'.format(c,b,c,d))
...: y = int('{}{}{}{}'.format(e,b,c,c))
...: print x+y
a: 45, b: 18, c: 9, d: 0, e: 36
453789
a: 40, b: 16, c: 8, d: 1, e: 32
403369
a: 35, b: 14, c: 7, d: 2, e: 28
352949
a: 30, b: 12, c: 6, d: 3, e: 24
302529
a: 25, b: 10, c: 5, d: 4, e: 20
252109
a: 20, b: 8, c: 4, d: 5, e: 16
21689
a: 15, b: 6, c: 3, d: 6, e: 12
16269
a: 10, b: 4, c: 2, d: 7, e: 8
10849
a: 5, b: 2, c: 1, d: 8, e: 4
5429
a: 0, b: 0, c: 0, d: 9, e: 0
9
но ни одно из них не подходит под формат ответа (первые две цифры одинаковые), вот понять не могу пока, что я сделал не так)
const as = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const bs = [2, 4, 6, 8];
const cs = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const ds = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const es = [2, 4, 6, 8];
const numberify = (...nums) => parseInt(nums.join(''), 10);
const check = (a, b, c, d, e) => numberify(c, b, c, d) + numberify(e, b, c, c) === numberify(a, a, e, b, 9);
as.forEach((a) => {
bs.forEach((b) => {
cs.forEach((c) => {
ds.forEach((d) => {
es.forEach((e) => {
if (check(a, b, c, d, e)) {
console.log('found', a, b, c, d, e);
}
});
});
});
});
});
Через несколько перезагрузок страницы появляется пустая капча.
Оказался 17м в списке :)
Спасибо! Классный квест, мне понравилось :)
Гигантомания в дизайне убила всякое желание проходить квест.
А так классное развлечение — спасибо :)
https://ru.wikipedia.org/wiki/%D0%A7%D0%B0%D1%81%D1%82%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C — поискать по вики табличку
Заполнив несколько, дальше уже можно было подбирать вручную, по словам, какие буквы там вероятнее всего в незавершенном слове. Для удобства — можно заменять все буквы, которые еще не внесены в словать на *. Тогда, к примеру о*ин — вероятнее всего там не хватает буквы д, найти оригинал — занести в словарик замены символов. После некоторых манипуляций, удалось таки добить словарик (жаль только не сохранился, т.к. писал все в консоли хрома)
Квест не для мобильных устройств сказал мне Гэндальф, грозя палкой в сторону моего мобильного 4g модема...
PS, для последнего вопроса был нормальный сервис, сразу выдающий приемлемый текст? С наскока найти не получилось, решил сам написать декодировщик и руками подбирать соответствие символов (отталкиваясь от стандартной таблицы).
О, проверите ход мыслей?
Разложить 221 на множители 13 и 17, привести числа из этих систем в десятичную, сложить, привести к 30-ичной.
Результаты:
Первое число из 13 в 10 = 367048
Второе число из 17 в 10 = 77992
Сумму 445050 в 30 = ok56
=6+11*13+0+11*13*13*13+12*13*13*13*13 итд…
В начале расстроило что нет готового «онлайн декодера» для последнего уровня и прийдется почти вручную расшифровывать, но в итоге получил большое удовольствие от этого уровня.
Авторам еще раз большое спасибо!
upd.
Уже нашел как…
Задания не столько сложные, сколько долгие.
Очень много времени ушло на задание с ведром краски: что надо делать — сообразил сразу, но GIMP меня подвёл (у пользователей Windows тут неплохая фора). Также около получаса переставлял буквы в последнем тексте. Ну и с картой долго тупил, перебирая фамилии, пока не нашёл нужную, максимально увеличив масштаб. :)
P.S.: 2 ч 10 мин.
Интересный квест. Надо сказать довольно простой — больше долго я провозился только с последними двумя задачками.
Остальные довольно простые и решаются почти без отрыва от рабочего процесса. Хотя дайджест меня заставил ненадолго зависнуть.
Ниже сорцы, которыми я размял мозг.
def getnum(literal):
return ord(literal) - 48 if 48 <= ord(literal) <= 57 else ord(literal) - 87
def todecimal(literal, osn):
return reduce(lambda a, x: a+getnum(x[1])*(osn**x[0]), enumerate(reversed(literal)), 0)
def toliteral(num, osn):
if num < osn:
return str(num) if num < 10 else chr(num+87)
val = num / osn
r = num % osn
return toliteral(val, osn) + (str(r) if r < 10 else chr(r+87)) # всё это происки лисперов злых.
for i in xrange(11, 35):
for j in xrange(11, 35):
num = todecimal('cb0b6', i) + todecimal('feed', j)
v = toliteral(num, i+j)
if i * j == 221:
print i, j, v
import collections
# пробелы не выпиливаем, всё равно они самые популярные
c = collections.Counter(s.decode('utf-8').replace(',','').lower())
# и дальше до посинения ищем правильные частоты.
replaces = dict(zip(map(lambda x: x[0], c.most_common()), 'а здесь список по убывающей частоте и его я вам не дам'))
print reduce(lambda a, x: a+replaces.get(x, u'_'), s.decode('utf-8').lower(), '')
Что-то совсем тут логику не понял
(Где 7+7=16
7*7=???
при a=0, b=0, c=0, d=9, e=0 уравнение так же имеет решение
самое простое задание. с первой попытки сразу получаешь ответ. второе решение даже искать не стал)
Заранее спасибо
Спасибо за труд и развлечение на ночь.
Головоломка вышла куда более сильно завязанная на предыдущий опыт решения различных практических и не очень задач, чем на размышления. Многие уровни брались с ходу просто потому что "я знал".
Самыми сложными оказались кофе и RGB (сижу на линуксе). Судя по комментариям я не одинок. (результат 2:33, с отвлечься на уложить ребенка спать)
Спасибо. Жаль нельзя переименоваться после прохождения. Пришлось перепроходить с нормальным ником, зато за 13 минут успел. (=
P.S. раз уж все постят ответы, то и я чуть-чуть закину:
http://codepen.io/findoff/pen/yaOaWO
http://codepen.io/findoff/pen/LRNbzX
http://codepen.io/findoff/pen/mAPRmA
Остальные — в основном без проблем. Еще с кофе не сразу допёр — пришлось сначала подсказку расшифровывать.
Может вопрос покажется странным, но почему вы не сделали версию на английском? Ведь в большинстве случаев работа программистом подразумевает знание английского языка.
Само задание мне понравилось, хотел бы поделиться с инностранными коллегами, но не могу.
Переводил из 2-ной в 10-ную систему, но все равно не принимает ответ.
Подскажите, пожалуйста
document.getElementsByName('answer')[0].disabled='';
document.getElementsByName('btna')[0].disabled='';
В кроссворде загаданы юникод символы 'n' 'A' 'N' 'J'
Вводил по разному.
Ответ не принимает, где я не прав?
Помогите пожалуйста с 16м уровнем — смысл задания понятен, но не могу разобрать "капчу"…
Заранее спасибо!
Разбирает любопытство.
Какая фраза была взята за оригинал в 8м задании?
P.S. С GIMP конечно подстава)
Все я знаю кого винить о сорваном дедлайне!
Примечание: у задачи 2 правиьных решения, подходит любое.
По каждому вопросу можно пару слов о том, откуда пришло в голову )
По каждому вопросу топ-10 неправильных ответов, интересно куда все ломились )
По каждому вопросу топ-10 самых быстрых (можно отметить между прохождением предыдущего вопроса и текущего) для чсв :)
За труд над заданием — огромное спасибо. Надеюсь оно будет доступно в инете еще хотя бы пару лет?
Тут уже для меня слишком сложно, а пройти все хочется. Помогите, ребята.
Хотя бы пару слов в лс расшифруйте)
Посмотрите на частоты букв в шифре (есть онлайн сервисы для таких расчетов). Предположите, что исходник — текст на русском языке.
Погуглите частоты букв в Русском языке. Понятно, что нельзя просто сопоставить все буквы упорядоченные по частоте. Но самые частые буквы в тексте — почти наверняка самые частые во всем языке. Далее посмотрите на короткие слова. Опять же, простая программа или онлайн сервис для подсчета частот разных слов очень поможет и тут.
Вот какая логика у ответа? Имхо, таблицы в инете это неспортивно.
И да, в одном союзе там ошибка.
Жалко, quit только после заметил, а то решал в два захода, а время тикало, оказывается.
В итоге время прохождения почти двое суток.
Во время решения некоторых (особенно там где с городами) или 23, было чувство что что-то я не пойму никогда.
Но пост-фактум я хочу заверить тех, кто еще только начинает — все квесты проходимы, логичны (а создать такое непросто!)
А некоторые содержат скорее отвлекающую информацию. Например квест с фоткой майкла джексона я прошел менее чем за минуту, а на форуме на нем были затыки, и как оказалось дальше — на странице есть куча скрытой инфы и подсказок, которая мне не только не понадобилась, но я уверен, что если бы я начал ее читать, я бы ушел в сторону от решения.
Для себя открыл, в инете оказывается огромное количество бесплатных онлайн-сервисов для декодирования, кодирования, конвертирования, которые могут заменить всякие hiew32 / md5.exe и даже значительно превзойти их.
Теперь при решении ребусов научился первым делом гуглить незнакомое слово.
https://habrahabr.ru/post/147355/
https://habrahabr.ru/post/135518/
https://habrahabr.ru/post/45743/
https://habrahabr.ru/post/104991/
https://habrahabr.ru/post/135669/
https://habrahabr.ru/post/144621/
http://hax.tor.hu/warmup1/
http://riddle.p4x.ch/start/
Раньше квесты на хабре встречались чаще. Было бы здорово возобновить традицию.
Может кому-то будет интересно посмотреть рейтинг по времени выполнения:
Скрипт создаст таблицу в конце страницы. Найти проще всего будет по заголовку «Рейтинг по времени решения».
function createTable(a){var b=document.createElement("h2");b.textContent="Рейтинг по времени решения";var c=document.createElement("section");c.id="leaderboard";var d=document.createElement("table"),e=document.createElement("tbody");a.forEach(function(a){var b=document.createElement("tr");a.forEach(function(a){var c=document.createElement("td");c.appendChild(document.createTextNode(a)),b.appendChild(c)}),e.appendChild(b)}),d.appendChild(e),c.appendChild(b),c.appendChild(d),document.body.appendChild(c)}leaderboard=document.getElementById("leaderboard"),leadertable=leaderboard.getElementsByTagName("table")[0],rows=leaderboard.getElementsByTagName("tr");for(var users=[],regexp=/(\d+) ч (\d+).*?мин/,i=0;i<rows.length;i++){row=rows[i],cols=row.getElementsByTagName("td"),time_match=regexp.exec(cols[1].textContent);var minutes=NaN;if(time_match){minutes=60*parseInt(time_match[1])+parseInt(time_match[2]);var user=[cols[0].textContent,cols[1].textContent,cols[2].textContent,minutes];users.push(user)}}for(var rating_data=users.sort(function(a,b){return a[3]-b[3]}),rating_table=[],i=0;i<rating_data.length;i++)item=rating_data[i],rating_table.push([i+1,item[0],item[1],item[2]]);createTable(rating_table);
Кто дошел до финала — молодцы, вас 8,6%
7-й вопрос, видимо, сложноват для первой половины квеста, а 22-й — слишком простой.
и
вариант друга: 0xC0FFEE в двоичной системе=110000001111111111101110
Меня удивляет, что второй ответ подходит
После прохождения, решил узнать: «А Шо оно будет, если заново залогинится ?».
Перешло на страничку с поздравлением, а при нажатии на ссылку «На главную», начал наблюдать, что время теста прохождения изменилось.
Пример из последних манипуляций:
Xottaba 27 ч 43 мин 16.09.2016 16:24
Xottaba 27 ч 52 мин 16.09.2016 16:33
Баг это или фича добавить себе времени на прохождение считайте сами. :-)
P.S. Спасибо за тест, мне и коллегам понравился. ;-)
Решение на PHP(выкладываю, т.к. в сети уже есть готовые решения):
$txt = 'тут текст из задания';
//~ Convert string to array
$txtArr = preg_split('//u', $txt, null, PREG_SPLIT_NO_EMPTY);
//~ Get count of characters
$cntArr = array_count_values($txtArr);
arsort($cntArr);
print '<pre>';
print_r($cntArr);
print '</pre>';
//~ Replace characters
function decode_txt(&$item, $key){
$decArr = preg_split('//u', 'ёьшиэукйвфптсделчрозхжаюыщгянцбЬШИЭУКЙВФПТСДЕЛЧРОЗХЖАЮЫЩГЯНЦБ', null, PREG_SPLIT_NO_EMPTY);
$encArr = preg_split('//u', 'ёоеияндствмчьлыйэзахкушпжрцщгбюОЕИЯНДСТВМЧЬЛЫЙЭЗАХКУШПЖРЦЩГБЮ', null, PREG_SPLIT_NO_EMPTY);
$srhKey = array_search($item, $decArr);
if($srhKey){
$item = $encArr[$srhKey];
}
}
array_walk($txtArr, 'decode_txt');
print implode('', $txtArr);
Откуда это желание спойлить и ломать другим людям кайф от решения квеста?
Сложный квест для хабравчан: 25 уровней