Найдите множество чисел, которые будут удовлетворять уравнению.
AA+BC=100. Найдите A, B и C, которые удовлетворяют уравнению. A, B и C - однозначные числа.
Условия:
Предположим, что в уравнении нет ошибок. Например, вам не нужно принимать во внимание уравнение вроде AA+BC=1000, в котором 1000 нельзя получить сложением двух двузначных чисел.
100 в примере наверху всего лишь пример. Если это число возможно получить путём сложения двух двузначных цифр, то можно использовать любое число.
Исходная информация:
Для примера выше; 11+89, 22+78……
. . .
Результат:
7.
(Прим: Разве? 11+89, 22+78, 33+67, 44+56, 55+45, 66+34, 77+23, 88+12 - в результате 8, нет? Ну разве условием не является то, что A, B и C все разные числа. Тогда 55+45 не считаются... но тогда есть 99+01, но 0 не считается)
... Вот такие там были задачи.
Самые простые. А вот у задачи, на которую сейчас смотрел Ёнхо, только пояснения занимали десять строк.
Условия были простыми.
Есть несколько шоссе, по которым можно достичь пункта назначения. Плата за проезд варьируется, в зависимости от шоссе. Вычислите наименьшее количество денег, которое требуется, чтобы достичь пункта назначения.
Хотя объяснение и было длинным, едва Ёнхо увидел задачу, то сразу подумал об алгоритме поиска кратчайшего пути.
«Какое облегчение...»
Ёнхо расслабленно выдохнул, дочитав задачу.
Однако не только Ёнхо знал, как решать. Пальцы сидящего рядом Марка порхали над клавиатурой.
«Быстро».
Ёнхо тоже начал программировать, может, немного опаздывая. Когда Ёнхо принялся за работу, одобрительные крики Дэйва стали еще громче.
Марк тоже не знал, что Ёнхо настолько хорош. И вместо того, чтобы смотреть на него свысока, он погрузился в решение задачи, потому что был уверен в своих силах.
За время учёбы в университете он решил бесчисленное множество задач на алгоритмы. Иначе он не выжил бы в Силиконовой Долине.
В Силиконовой Долине никто бы не дал бесталанному неумелому глупцу место.
«Это может быть опасно...»
Так как обычно он любил выпить, то без проблем принял предложение Ёнхо.
Но ему никогда не приходилось пить так много за такой короткий промежуток времени. Не прошло и часа, а он уже выпил десять бокалов неразбавленного виски. Он чувствовал, что может уснуть, если в кровь попадёт еще больше алкоголя.
Но он должен был выдержать. Он не мог проиграть. На кону стояла его репутация в компании и гордость.
Гордость, которая появилась в величайшей стране в мире, после укрепилась в одном из лучших университетов в мире, а после оказалась в одном из лучших компаний мира. Он просто не мог проиграть какому-то азиату, который возник из ниоткуда.
«Я выиграю».
Боевой дух помог ему продолжить программировать. Бело пространство страницы заполнилось кодами.
Дзынь!
Услышав звон колокольчика, Ёнхо и Марк опустошили бокалы виски одновременно.
Прошло уже десять минут с тех пор как начался псоледний раунд. Они выпили уже три бокала виски.
Хлоп!
Они допили их одновременно и вернули пустые бокалы на стол. Возможно потому что они оба были уже пьяны, поставили они их просто молниеносно.
Странно, что бокалы не тряслись.
- Сделай это! Мы победим!
- Постарайся, хён-ним!
Дэйв и На Дэбан, вероятно, боялись, что Ёнхо может потерять сознание и потому ободрительно кричали ему. Кеннет тоже подбадривал Марка.
Возможно потому что это был последний раунд, атмосфера становилась всё более напряжённой.
*Дрожь*
Бокал рядом с Ёнхо упал и затрясся. Ёнхо ненадолго вырубился, проиграв битву алкоголю, и толкнул головой стоящий рядом бокал.
«Ох...»
Голова кружилась. Он уже выпил 13 бокалов виски, в которых содержалось 40% алкоголя. Он бы опьянел, если бы пил постепенно на протяжении долгого времени, но тут всё это случилось в течение часа.
«Чёрт....»
К счастью, он не стукнулся головой о клавиатуру и не повредил код. Стоило ему опечататься, и победа бы автоматически оказалась в кармане у противника.
Его затуманенный алкоголем разум убеждал его перестать программировать и уснуть.
Он с трудом боролся с командами, которые отдавал его мозг. Он чувствовал, что должен выдержать, потому что дал обещание.
- Хён-ним!
Когда Ёнхо с трудом поднял голову, он увидел, как На Дэбан болеет за него, крепко сжимая руки в кулаки.
Сидящая неподалёку Люция тоже болела за Ёнхо молча.
Бззз.
Взгляд пустых глаз Ёнхо встретился с серьёзным взглядом её глаз.
Сделай всё, что в твоих силах.
Она не произнесла ни слова, но Ёнхо услышал её голос в своей голове, словно между ними на мгновение установилась телепатическая связь. . .
Её серьёзный голос заставил его мозг работать, и он поднял голову. Выпрямившись, Ёнхо почесал затылок и вернулся к программированию.
ПОДТВЕРДИТЬ.
Они оба подняли руки и нажали на клавишу подтверждения практически одновременно. Человеческий глаз не успел уловить разницу.
Никто не мог ничего сказать точно, включая персонал, которому заплатили дополнительно за то, что они временно будут судьями.
- В-вы подняли руки одновременно, так что... может, мы проверим результаты?
Озадаченно предложил На Дэбан, который так и не смог определить победителя. Если кто-то ошибся, то он однозначно проиграл. Они повернули ноутбуки и показали результаты друг другу.
1130 долларов.
1130 долларов.
Ответ как у Марка, так и у Ёнхо были абсолютно одинаковыми. Они не могли определить победителя ни по скорости программирования, ни по результатам решения задачи.
- Т-там и багов нет?
Кивок кивок.
Положительный ответ. Если бы в решение закрался баг, результат бы вообще не появился на экране.
Теперь остался последний способ всё решить.
Глава 97
Тот же результат без единого отличия.
Никто не произнёс ни слова, после того как на экранах появились одинаковые результаты.
- Т-тогда, может быть измерим производительность? - Кеннет тоже нервничал, попивая воду. Да и не только он. На Дэбан, Дэйв, Люция и Джеймс пили свои напитки большими глотками.
Измерение производительности.
У большинства программ есть входные и выходные параметры. По сути, считается, что производительность выше тогда, когда результаты появляются на экране быстрее. Это общепринятая норма.
Учитывая, что в написанных программах не было багов, им осталось только прибегнуть к такому методу измерения производительности в качестве последнего средства.
Производительность измеряется посредством увеличения входных данных в геометрической прогрессии. Сперва в два раза, потом в четыре, в восемь, в шестнадцать и т.д. Когда результат будет существенно различаться, тогда победитель будет определён.
Разработчикам был предоставлен небольшой отдых, пока для их программ подготавливались входные данные.
- Ты в порядке? - Дэйв взволнованно похлопал Ёнхо по спине. Сложно быть «в порядке», выпив за такой короткий промежуток времени полбутылки виски.
Вместо того, чтобы программировать, используя свой мозг, он держался только на упрямстве. Фактически заставлял тело двигаться. И это было очевидно по тем усилиям, которые он прилагал.
Марк чувствовал себя не лучше.
Кажется у Ёнхо не осталось сил даже говорить, потому что он моргнул и кивнул.
- Скоро будет готово.
7мс/6мс
20мс/22мс
50мс/46мс
На Дэбан громко объявил результаты. В виду того, что входное значение росло в геометрической прогрессии, количество времени, которое требовалось для получения выходных данных, соответственно, тоже возрастало.
Производительность измеряли следующим способом: засекали, сколько времени прошло между запуском и выключением программы.
720мс/810мс
1321мс/1523мс
Сначала появлялся результат Ёнхо, потом - Марка.
Разрыв понемногу увеличивался. Однако он всё еще был в пределах погрешности. До тех пор, пока разница между результатами не была ощутимой, определить победителя было достаточно трудно.