Сьогодні на співбесіді в 1 айтішну компанію, мене запитали, чи зможу я вирішити задачу на логіку? Я звісно відповів що зможу, тому що в мене майже 2 вищі освіти (ХАІ та КПІ). Але коли мене спитали я розгубився. Це для мене нормальна річ, я завжди вирішую такі задачі коли я можу спокійно зосередитися над рішенням. Та задача виявилася досить простою.
Ось її опис: Є 1000 пляшок та 10 стаканів, в 1 пляшці є отрута. 10 людей одночасно ковтають з цих стаканів, тобто є лище 1 спроба. Одна людина ковтає лише з 1 стакану. Після того, як хтось загинув (1 чи декілька людей, чи всі відразу), треба визначити де саме отрута (в якій пляшці).
Ось рішення цієї задачі:
Якщо в нас є 1 стакан, то ми можемо визначити 2 пляшки, тобто або людина загине, або ні. Це ми можемо представити як 0,1 (0 - живе, 1 - загинув). Якщо в нас є 2 стакана ми можемо визначити 4 пляшки, це ми можемо представити як таку собі схемку:
1 стакан (2 комбінації (пляшки), або живе, або загинув)
0
1
2 стакана (4 комбінації (пляшки), або всі живі, або лівий загинув, або правий, або всі вмерли)
00
10
01
11
3 стакана (8 комбінацій (пляшок))
000
100
010
001
110
011
101
111
І так далі. Це може представити як 2 в ступені n. Тобто 2 в 0 ступені це 1. 2 в 1 ступені це 2, 2 в 3 ступені це 8, 2 в 4 ступені це 16 ... Тобто щоб визначити вірно де саме отрута нам треба 10 стаканів, тому що 2 в 10 ступені, це 1024.
Ще приведу приклад як можна наглядно продемонструвати як наливається отрута в чашки:
Уявімо, що кружки це пляшки, а квадрати це стакани, з яких п"ють люди. Одна пляшка вважається виключеною (відокремлена квадратом), вона буде з отрутою, якщо всі вип"ють, та залишаться живими. Якщо скажімо ми беремо комбінацію 101, тобчто 1 чашка з отрутою та остання з отрутою, то в якій пляшці отрута? Вірно, в тій яка наливає тільки в 2 крайні стакани. Якщо ми візьмемо комбінацію 100, то в якій пляшці отрута? Вірно в тій, яка наливає тільки в перший стакан, тобто сама ліва крайня.
Маю, надію все виклав зрозуміло :)
Ось її опис: Є 1000 пляшок та 10 стаканів, в 1 пляшці є отрута. 10 людей одночасно ковтають з цих стаканів, тобто є лище 1 спроба. Одна людина ковтає лише з 1 стакану. Після того, як хтось загинув (1 чи декілька людей, чи всі відразу), треба визначити де саме отрута (в якій пляшці).
Ось рішення цієї задачі:
Якщо в нас є 1 стакан, то ми можемо визначити 2 пляшки, тобто або людина загине, або ні. Це ми можемо представити як 0,1 (0 - живе, 1 - загинув). Якщо в нас є 2 стакана ми можемо визначити 4 пляшки, це ми можемо представити як таку собі схемку:
1 стакан (2 комбінації (пляшки), або живе, або загинув)
0
1
2 стакана (4 комбінації (пляшки), або всі живі, або лівий загинув, або правий, або всі вмерли)
00
10
01
11
3 стакана (8 комбінацій (пляшок))
000
100
010
001
110
011
101
111
І так далі. Це може представити як 2 в ступені n. Тобто 2 в 0 ступені це 1. 2 в 1 ступені це 2, 2 в 3 ступені це 8, 2 в 4 ступені це 16 ... Тобто щоб визначити вірно де саме отрута нам треба 10 стаканів, тому що 2 в 10 ступені, це 1024.
Ще приведу приклад як можна наглядно продемонструвати як наливається отрута в чашки:
Уявімо, що кружки це пляшки, а квадрати це стакани, з яких п"ють люди. Одна пляшка вважається виключеною (відокремлена квадратом), вона буде з отрутою, якщо всі вип"ють, та залишаться живими. Якщо скажімо ми беремо комбінацію 101, тобчто 1 чашка з отрутою та остання з отрутою, то в якій пляшці отрута? Вірно, в тій яка наливає тільки в 2 крайні стакани. Якщо ми візьмемо комбінацію 100, то в якій пляшці отрута? Вірно в тій, яка наливає тільки в перший стакан, тобто сама ліва крайня.
Маю, надію все виклав зрозуміло :)
Немає коментарів:
Дописати коментар