Advent of Code 2024, Day 12 🎄
Сьогоднішнє завдання коротко: дано двовимірну мапу саду, де кожна клітинка містить певну рослину. Якщо дві однакові рослини дотикаються горизонтально або вертикально, вони утворюють спільну ділянку. Ельфи хочуть збудувати лавку навколо кожної такої ділянки.
Ціна лавки для кожної ділянки обчислюється за формулою:
Периметр ділянки — це сума сторін клітинок, які:
- межують із краєм саду,
- або межують із клітинкою, яка містить іншу рослину.
Площа ділянки — це кількість клітинок у ділянці.
Завдання: Знайти загальну вартість побудови лавок для всіх ділянок саду.
Завдання із зіркою: ціна лавки обчислюється за формулою:
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко: дано двовимірну мапу саду, де кожна клітинка містить певну рослину. Якщо дві однакові рослини дотикаються горизонтально або вертикально, вони утворюють спільну ділянку. Ельфи хочуть збудувати лавку навколо кожної такої ділянки.
Ціна лавки для кожної ділянки обчислюється за формулою:
Ціна = Периметр ділянки × Площа ділянки.Периметр ділянки — це сума сторін клітинок, які:
- межують із краєм саду,
- або межують із клітинкою, яка містить іншу рослину.
Площа ділянки — це кількість клітинок у ділянці.
Завдання: Знайти загальну вартість побудови лавок для всіх ділянок саду.
Завдання із зіркою: ціна лавки обчислюється за формулою:
Площа ділянки * Кількість сторін ділянки.👉 Відкрити посилання
#aoc
❤3👍2
Warp Integrations 🔌
@MatiGreen нещодавно поділився в чаті статтею, у якій пояснюється, як додати інтеграцію Warp із VSCode, JetBrains, Raycast або навіть Docker.
👉 Відкрити посилання
#tips
@MatiGreen нещодавно поділився в чаті статтею, у якій пояснюється, як додати інтеграцію Warp із VSCode, JetBrains, Raycast або навіть Docker.
👉 Відкрити посилання
#tips
👍4❤2
Welcome!
Let's practice our English! So...
👉 What’s one aspect of modern technology you think future generations will view as primitive or outdated, and why?
Have a nice #english_friday 💛
Let's practice our English! So...
👉 What’s one aspect of modern technology you think future generations will view as primitive or outdated, and why?
Have a nice #english_friday 💛
👍6❤1
Advent of Code 2024, Day 13 🎄
Сьогоднішнє завдання коротко: на ігровому автоматі знаходиться іграшка, координати якої задані як
Для керування лапою доступні дві кнопки:
- Кнопка
- Кнопка
Потрібно розрахувати мінімальну кількість монет, необхідних для досягнення координат
Завдання із зіркою: іграшка знаходиться в координатах
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко: на ігровому автоматі знаходиться іграшка, координати якої задані як
X та Y. Щоб дістати іграшку, потрібно перемістити лапу автомата до цих координат, починаючи з початкової позиції (0, 0). Для керування лапою доступні дві кнопки:
- Кнопка
A пересуває лапу на XA по осі X та YA по осі Y. Натискання цієї кнопки коштує 3 монетки. - Кнопка
B пересуває лапу на XB по осі X та YB по осі Y. Натискання цієї кнопки коштує 1 монетку. Потрібно розрахувати мінімальну кількість монет, необхідних для досягнення координат
(X, Y).Завдання із зіркою: іграшка знаходиться в координатах
10000000000000 + X та 10000000000000 + Y.👉 Відкрити посилання
#aoc
👍4
Advent of Code 2024, Day 14 🎄
Сьогоднішнє завдання коротко: на мапі розміром
Потрібно обчислити кількість роботів у кожному квадранті через
Завдання із зіркою: у певний момент часу більшість роботів утворюють фігуру, схожу на ялинку.
Потрібно визначити, через скільки секунд це трапиться.
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко: на мапі розміром
101x103 розміщені роботи. Щосекунди вони постійно рухаються за певним правилом: на x клітинок вправо та на y клітинок вниз. Якщо робот виходить за межі мапи, він телепортується на протилежний бік. Карта розділена на 4 квадранти середніми лініями.Потрібно обчислити кількість роботів у кожному квадранті через
100 секунд.Завдання із зіркою: у певний момент часу більшість роботів утворюють фігуру, схожу на ялинку.
Потрібно визначити, через скільки секунд це трапиться.
👉 Відкрити посилання
#aoc
👍6❤1
Advent of Code 2024, Day 15 🎄
Сьогоднішнє завдання коротко:
На мапі зображено:
- робота:
- коробки:
- стіни:
Також є список інструкцій для робота:
Якщо у напрямку руху порожня клітинка, робот переміщається на неї. Якщо ж у напрямку робота стіна, він залишається на місці. Якщо перед роботом знаходиться коробка, він спробує штовхнути її (а також усі інші коробки, що стоять впритул), але тільки за умови, що з іншого боку немає стіни.
Потрібно визначити місце розташування всіх коробок після виконання всіх інструкцій.
Завдання із зіркою:
Коробки позначені двома символами:
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко:
На мапі зображено:
- робота:
@,- коробки:
O,- стіни:
#.Також є список інструкцій для робота:
^ — рух угору,> — вправо,v — вниз,< — вліво.Якщо у напрямку руху порожня клітинка, робот переміщається на неї. Якщо ж у напрямку робота стіна, він залишається на місці. Якщо перед роботом знаходиться коробка, він спробує штовхнути її (а також усі інші коробки, що стоять впритул), але тільки за умови, що з іншого боку немає стіни.
Потрібно визначити місце розташування всіх коробок після виконання всіх інструкцій.
Завдання із зіркою:
Коробки позначені двома символами:
[], та їх завжди переміщують як одне ціле.👉 Відкрити посилання
#aoc
👍4❤2
Advent of Code 2024, Day 16 🎄
Сьогоднішнє завдання коротко: на мапі зображено лабіринт:
- початок:
- кінець:
- стіни:
На початку ми повернуті направо. Кожен крок уперед коштує 1 очко, а кожен поворот вправо або вліво — 1000 очок.
Потрібно визначити, за яку мінімальну кількість очок можна пройти лабіринт.
Завдання із зіркою: ймовірно, існує кілька шляхів із мінімальною вартістю. Скільки клітинок належить хоча б до одного такого шляху (включно з початком і кінцем)?
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко: на мапі зображено лабіринт:
- початок:
S,- кінець:
E,- стіни:
#.На початку ми повернуті направо. Кожен крок уперед коштує 1 очко, а кожен поворот вправо або вліво — 1000 очок.
Потрібно визначити, за яку мінімальну кількість очок можна пройти лабіринт.
Завдання із зіркою: ймовірно, існує кілька шляхів із мінімальною вартістю. Скільки клітинок належить хоча б до одного такого шляху (включно з початком і кінцем)?
👉 Відкрити посилання
#aoc
👍3❤1
Чи вдається вам підтримувати work-life balance?
Anonymous Poll
11%
Так
14%
Швидше так, ніж ні
17%
50/50
39%
Швидше ні, ніж так
18%
Ні
👍3❤2
Advent of Code 2024, Day 17 🎄
Сьогоднішнє завдання коротко: реалізувати невеликий інтерпретатор команд. Існує три регістри:
Потрібно визначити, який буде вивід програми.
Завдання зі зірочкою: за певного значення регістра
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко: реалізувати невеликий інтерпретатор команд. Існує три регістри:
A, B і C, вісім команд та літерали. Одна з команд виводить дані.Потрібно визначити, який буде вивід програми.
Детальний опис роботи кожної команди читайте на сайті Advent of Code, оскільки їх складно стисло пояснити в одному повідомленні.
Завдання зі зірочкою: за певного значення регістра
A програма може вивести саму себе. Яке найменше значення цього регістра дозволить це зробити?👉 Відкрити посилання
#aoc
👍6🔥2
👍10❤2
Advent of Code 2024, Day 18 🎄
Сьогоднішнє завдання коротко: знову лабіринт. Дано список координат клітинок. Щосекунди кожна наступна клітинка зі списку стає стіною. Потрібно знайти вихід із лабіринту, починаючи з точки
Потрібно визначити, яку мінімальну кількість кроків потрібно зробити, щоб пройти лабіринт на
Завдання із зірочкою: визначити, на якій секунді прохід буде заблоковано.
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко: знову лабіринт. Дано список координат клітинок. Щосекунди кожна наступна клітинка зі списку стає стіною. Потрібно знайти вихід із лабіринту, починаючи з точки
(0, 0) і завершуючи в точці (70, 70).Потрібно визначити, яку мінімальну кількість кроків потрібно зробити, щоб пройти лабіринт на
1024-ій секунді.Завдання із зірочкою: визначити, на якій секунді прохід буде заблоковано.
👉 Відкрити посилання
#aoc
👍6❤2
GitHub Copilot став безкоштовним 🔥
Тепер кожен може використовувати цей інструмент:
- Без пробного періоду;
- Без підписок;
- Без прив’язки банківської картки.
👉 Детальніше про це можна прочитати у блозі: aka.ms/copilot-free
Ми використовуємо GitHub Copilot у повсякденній роботі, тож для нас це чудова можливість і важлива подія! А що про цей інструмент думаєте ви?
#news
Тепер кожен може використовувати цей інструмент:
- Без пробного періоду;
- Без підписок;
- Без прив’язки банківської картки.
👉 Детальніше про це можна прочитати у блозі: aka.ms/copilot-free
Ми використовуємо GitHub Copilot у повсякденній роботі, тож для нас це чудова можливість і важлива подія! А що про цей інструмент думаєте ви?
#news
🔥13👍3❤1🤯1
Advent of Code 2024, Day 19 🎄
Сьогоднішнє завдання коротко: у нас є набір рушників, де кожен рушник має свій унікальний порядок кольорових смужок.
Наприклад:
Кількість рушників кожного типу необмежена.
Також є список «шаблонів» - це послідовності кольорів, які потрібно скласти з рушників.
Наприклад:
Шаблон
Шаблон
Потрібно визначити, скільки шаблонів можливо скласти із заданих рушників.
Завдання із зірочкою: знайти кількість можливих варіантів складання кожного шаблону з рушників та підсумувати ці числа для всіх шаблонів.
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко: у нас є набір рушників, де кожен рушник має свій унікальний порядок кольорових смужок.
Наприклад:
r - рушник із червоною смужкою;bb - рушник із двома синіми смужками;rgb - рушник із червоною, зеленою та синьою смужкою.Кількість рушників кожного типу необмежена.
Також є список «шаблонів» - це послідовності кольорів, які потрібно скласти з рушників.
Наприклад:
Шаблон
rbb можна скласти з рушників r і двох b.Шаблон
rrgbb можна скласти кількома способами, наприклад, з рушників r, rgb, b або з двох r, одного g і рушника bb.Потрібно визначити, скільки шаблонів можливо скласти із заданих рушників.
Завдання із зірочкою: знайти кількість можливих варіантів складання кожного шаблону з рушників та підсумувати ці числа для всіх шаблонів.
👉 Відкрити посилання
#aoc
❤3👍2
Welcome!
Let's practice our English! So...
👉 What is your prediction for the Ukrainian IT sector in the next year?
Have a nice #english_friday 💛
Let's practice our English! So...
👉 What is your prediction for the Ukrainian IT sector in the next year?
Have a nice #english_friday 💛
❤2👍2
Advent of Code 2024, Day 20 🎄
Сьогоднішнє завдання коротко: у нас є 2-вимірна мапа, яка відображає трек для гонок. На ній:
Кожен рух на сусідню клітинку коштує 1 пікосекунду. Але є особливість: ви маєте 2 пікосекунди для "мухлювання". Це означає, що ви можете перестрибнути одну стіну:
- перша пікосекунда витрачається на перехід на стіну;
- друга - на повернення на трасу.
Потрібно визначити, скільки існує варіантів такого "мухлювання", які дозволяють зекономити щонайменше 100 пікосекунд.
Завдання із зірочкою: у цьому випадку у вас є 20 пікосекунд для мухлювання. Вони можуть бути використані лише в одному безперервному відрізку, не розділяючи.
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко: у нас є 2-вимірна мапа, яка відображає трек для гонок. На ній:
S - початок;E - кінець;. - траса;# - стіна.Кожен рух на сусідню клітинку коштує 1 пікосекунду. Але є особливість: ви маєте 2 пікосекунди для "мухлювання". Це означає, що ви можете перестрибнути одну стіну:
- перша пікосекунда витрачається на перехід на стіну;
- друга - на повернення на трасу.
Потрібно визначити, скільки існує варіантів такого "мухлювання", які дозволяють зекономити щонайменше 100 пікосекунд.
Завдання із зірочкою: у цьому випадку у вас є 20 пікосекунд для мухлювання. Вони можуть бути використані лише в одному безперервному відрізку, не розділяючи.
👉 Відкрити посилання
#aoc
👍5❤2
Advent of Code 2024, Day 21 🎄
Сьогоднішнє завдання коротко: є цифрова клавіатура у форматі:
З нею працює робот, який може рухатись вгору, вправо, вниз та вліво. Цей робот керується клавіатурою зі стрілками у форматі:
Однак, цією клавіатурою також керує інший робот. Усього є ланцюжок із 5 таких клавіатур і 5 роботів, які один за одним передають команди. Ви керуєте шостою клавіатурою і управляєте п'ятим у черзі роботом.
Потрібно визначити, які кнопки на своїй клавіатурі вам потрібно натиснути, щоб у результаті введення команд було виконано заданий код.
Завдання із зірочкою: існує 1 цифрова клавіатура, з якою працює робот, 25 клавіатур з стрілками, з якими працюють роботи і 1 клавіатура з стрілками, якою керуєте ви.
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко: є цифрова клавіатура у форматі:
789
456
123
0AЗ нею працює робот, який може рухатись вгору, вправо, вниз та вліво. Цей робот керується клавіатурою зі стрілками у форматі:
^A
<v>А - виконати натискання.Однак, цією клавіатурою також керує інший робот. Усього є ланцюжок із 5 таких клавіатур і 5 роботів, які один за одним передають команди. Ви керуєте шостою клавіатурою і управляєте п'ятим у черзі роботом.
Потрібно визначити, які кнопки на своїй клавіатурі вам потрібно натиснути, щоб у результаті введення команд було виконано заданий код.
Завдання побудоване доволі складно і дуже цікаве, тому відкривайте посилання, щоб прочитати усю історію детально.
Завдання із зірочкою: існує 1 цифрова клавіатура, з якою працює робот, 25 клавіатур з стрілками, з якими працюють роботи і 1 клавіатура з стрілками, якою керуєте ви.
👉 Відкрити посилання
#aoc
👍4🤯4
Advent of Code 2024, Day 22 🎄
Сьогоднішнє завдання коротко: реалізувати генератор псевдовипадкових чисел.
Для генерації псевдовипадкових чисел маємо задане початкове число. Алгоритм для обчислення наступного числа виконується в три етапи:
1. Домножити поточний результат на
2. Поділити число на
3. Домножити число на
mix — виконати бітову операцію XOR між з результатом попереднього обчислення.
prune — обчислити залишок від ділення числа на
Потрібно обчислити, яке число буде згенеровано на 2000-й ітерації алгоритму.
👉 Відкрити посилання
#aoc
Сьогоднішнє завдання коротко: реалізувати генератор псевдовипадкових чисел.
Для генерації псевдовипадкових чисел маємо задане початкове число. Алгоритм для обчислення наступного числа виконується в три етапи:
1. Домножити поточний результат на
64, виконати операцію mix із поточним результатом і застосувати операцію prune.2. Поділити число на
32, виконати операцію mix із поточним результатом і застосувати операцію prune.3. Домножити число на
2048, виконати операцію mix із поточним результатом і застосувати операцію prune.mix — виконати бітову операцію XOR між з результатом попереднього обчислення.
prune — обчислити залишок від ділення числа на
16 777 216.Потрібно обчислити, яке число буде згенеровано на 2000-й ітерації алгоритму.
👉 Відкрити посилання
#aoc
👍4❤1
👍6❤1