Cell Tower is an interesting daily puzzle game, https://www.andrewt.net/puzzles/cell-tower/. Here we consider a simplified version. You are given 8×8 square with one character in each cell and a dictionary. Please divide the square into several parts, so that each part is a connected block and the characters in this connected block (from top to bottom and from left to right) make up a valid word (i.e., appear in the dictionary).
Two cells A,B are called connected pair, if A and B directly share the same side, or there exists another cell C so that both A,C and B,C are connected pairs.
A group of cells is called connected block if any pair of cells in this group are connected pairs and the size of this group is either 3 or 4.
input
1 1 1 1 2 3 3 3
0 4 4 4 2 2 2 3
0 0 5 5 6 6 7 7
0 9 5 5 6 8 7 7
9 9 9 1 6 8 8 8
3 1 1 1 2 2 2 2
4 5 6 0 0 4 4 3
7 8 9 0 0 4 3 3
16
1111
2222
3333
444
0000
5555
6666
7777
8888
9999
111
333
3456
789
3478
569
output
2
Распишу только для первого, остальное сами
Объяснение:
^ - операция конъюнкции, логического умножения или логическое И. Главное запомнить, что 1^0=0 или 0^1=0, 0^0=0, 1^1=1, X^1=X,X^0=0.
∨ - операция дизъюнкции, логической суммы или логическое ИЛИ. Опять таки запоминаем, что 1∨0=1 или 0∨1=1, 1∨1=1, 0∨0=0, А∨0=А, А∨1=А.
Черточка сверху означает инверсию, либо логическое НЕ. Иногда также обозначается знаком ¬. Запоминаем: ¬0=1, ¬1=0.
Тут нет, но знать надо:
Импликация, понятного примера нет, нужно просто знать. Обозначается знаком ⇒. 1⇒0=0, 0⇒0=0, 1⇒1=1, 0⇒1=1.
Раскрытие импликации. Часто, для формул законов алгебры логики нужно убрать импликацию и упростить до конъюнкций, дизъюнкций и инверсий. На приходит формулы раскрытия импликации
A⇒B = ¬A∨B
Тождество. Обозначается знаком ≡, либо иногда стрелочки направленые в обе стороны. Суть в том, что сравниваемые значения возвращают единицу, если они одинаковы. 0≡0=1, 1≡1=1, 0≡1=0, 1≡0=0.
Раскрытий тождества: A≡B=(A⇒B)^(B⇒A)
Стрелка Пирса(отрицание дизъюнкции) обратная дизъюнкции операция. Обозначается стрелкой вниз ↓. 0↓0=1, 1↓0=0, 0↓1=0, 1↓1=0.
Штрих Шеффера(отрицание конъюнкции) обратная конъюнкции операция. Обозначается вертикальной полосой |. 1|1=0, 0|0=1, 1|0=1, 0|1=1.
Это элементы булевой алгебры. Есть еще алгебра Жегалкина. Суть которой исключающее ИЛИ. Об этом, если интересно почитайте сами. Также прикрепляю формулы законов булевой алгебры.
Вам нужно:
1) перевести строку в массив символов
2) узнать длину полученного массива
3) создать ещё один пустой символьный массив
4) создать цикл, в котором будут записываться элементы первого массива во второй, пока не встретится запятая. если же встретилась запятая, то заканчиваем выполнение цикла
5) узнать размер нового массива, который состоит из букв первого слова
6) вывести последний элемент нового массива, что и будет последней буквой первого слова
алгоритм, в общем-то, такой. Вам нужно лишь перевести это в код на нужном языке программирования