Как вы определяете, когда бросить играть на день? (Страница 3) / Читать онлайн «Поллианна», Элинор Портер – Литрес, страница 3

Как Вы Определяете, Когда Бросить Играть На День? (Страница 3)

Как вы определяете, когда бросить играть на день? (Страница 3)

= 1 << ((n - starting) % 8); } } for (int i = 0 ; i < goalma.org; i++) { for (int j = 0; j < 8; j++) { /* Получаем отдельные биты каждого байта. Когда бит 0 * найден, находим соответствующее значение. */ if ((bitfield[i] & (1 << j)) == 0) { goalma.orgn(i * 8 + j + starting); return; } } } }

А что если вам нужно решить задачу, используя более серьезные ограничения на использование памяти? В этом случае придется сделать несколько проходов. Сначала пройдитесь по «миллионным» блокам, потом по тысячным. Наконец, на третьем проходе можно будет использовать битовый вектор.

Предложите алгоритм, генерирующий все корректные комбинации пар круглых скобок. Под корректными комбинациями пар будем понимать правильно открытые и закрытые скобки. На вход подаётся число пар скобок, на выходе должны быть все возможные их комбинации в виде набора строк.

Под корректными комбинациями пар будем понимать правильно открытые и закрытые скобки. На вход подаётся число пар скобок, на выходе должны быть все возможные их комбинации в виде набора строк.

Первая мысль — использовать рекурсивный подход, который строит решение для , добавляя пары круглых скобок в . Это, конечно, правильная мысль.

Рассмотрим решение для :

Как получить это решение из решения для n = 2?

Можно расставить пары скобок в каждую существующую пару скобок, а также одну пару в начале строки. Другие места, куда мы могли вставить скобки, например в конце строки, получатся сами собой.

Итак, у нас есть следующее:

(()) -> (()()) /* скобки вставлены после первой левой скобки */ -> ((())) /* скобки вставлены после второй левой скобки */ -> ()(()) /* скобки вставлены в начале строки */ ()() -> (())() /* скобки вставлены после первой левой скобки */ -> ()(()) /* скобки вставлены после второй левой скобки */ -> ()()() /* скобки вставлены в начале строки */

Но постойте! Некоторые пары дублируются! Строка упомянута дважды! Если мы будем использовать данный подход, то нам понадобится проверка дубликатов перед добавлением строки в список. Реализация такого метода выглядит так:

public static Set<String> generateParens(int remaining) { Set<String> set = new HashSet<String>(); if (remaining == 0) { goalma.org(""); } else { Set<String> prev = generateParens(remaining - 1); for (String str : prev) { for (int i = 0; i < goalma.org(); i++) { if (goalma.org(i) == '(') { String s = insertInside(str, i); if (!goalma.orgns(s)) { goalma.org(s); } } } if (!goalma.orgns("()" + str)) { goalma.org("()" + str); } } } return set; } public String insertInside(String str, int leftIndex) { String left = goalma.orging(0, leftIndex + 1); String right = goalma.orging(leftIndex + 1, goalma.org(); return left + "()" + right; }

Алгоритм работает, но не очень эффективно. Мы тратим много времени на дублирующиеся строки.

Избежать проблемы дублирования можно путем построения строки с нуля. Этот подход подразумевает, что мы добавляем левые и правые скобки, пока наше выражение остается правильным.

При каждом рекурсивном вызове мы получаем индекс определенного символа в строке. Теперь нужно выбрать скобку (левую или правую). Когда использовать левую скобку, а когда — правую?

  1. Левая скобка: пока мы не израсходовали все левые скобки, мы можем вставить левую скобку.
  2. Правая скобка: мы можем добавить правую скобку, если добавление не приведет к синтаксической ошибке. Когда появляется синтаксическая ошибка? Тогда, когда правых скобок больше, чем левых.

Таким образом, нам нужно отслеживать количество открывающих и закрывающих скобок. Если в строку можно вставить левую скобку, добавляем ее и продолжаем рекурсию. Если левых скобок больше, чем правых, то вставляем правую скобку и продолжаем рекурсию.

public void addParen(ArrayList<String> list, int leftRem, int rightRem, char[] str, int count) { if (leftRem < 0

Вопросы-головоломки на собеседованиях с ответами. Часть 1

Логические задачи кандидатам на вакансию задают, чтобы оценить их аналитические способности. С подобными вопросами может столкнуться каждый. Но даже, если с вами это не случится — изучить их для подготовки будет просто интересно.

Соискателям, столкнувшимся с головоломками в процессе собеседования, не стоит паниковать и теряться. Как правило, в большинстве случаев достаточно показать ход ваших мыслей и пути решения поставленной задачи. Вполне может быть, что у задачи и нет правильного решения или однозначного ответа. Ни в коем случае нельзя говорить «я не знаю» или «затрудняюсь ответить», просто размышляйте вслух.

Чтобы вы знали к чему быть готовыми и не растерялись, goalma.org собрал самые популярные вопросы-головоломки и подготовил ответы и рекомендации к ним. Кто знает, может вам попадутся именно эти задачи.

Все эти головоломки могут вам задать при собеседовании на вакансию программиста php.

Канализационные люки

Это, пожалуй, самый распространенный вопрос среди всех головоломок.

Вопрос: Почему канализационные люки круглые?

Ответ: Есть несколько вариантов. Так как диаметр круга одинаков, как его не крути, то круглый люк не может провалиться в колодец. У квадрата же, например, диагональ больше его сторон, поэтому крышка могла бы упасть. Также можно ответить, что круглые люки проще транспортировать и передвигать.

Лампочки

Вопрос: В закрытой комнате есть 3 лампочки, а в коридоре 3 выключателя. За какое минимальное открытие дверей можно определить какой выключатель к какой лампочке относится?

Ответ: За одно открытие. Включаем одновременно 2 выключателя, через некоторое время выключаем второй. Заходим в комнату: одна из лампочек осталась гореть — это первый выключатель, далее щупаем оставшиеся лампочки — теплая и будет вторым выключателем, а холодная соответственно третьим.

Торт

Вопрос: Как разделить торт на 8 равных частей тремя разрезами?

Ответ: Сперва нужно сделать 2 разреза крест на крест, поделив торт на 4 равных части. А затем разрезать торт горизонтально пополам. Ну и что, что куски стали невысокие, зато у вас 8 равных частей. Еще можно после первых двух разрезов сложить кусочки друг на друга и переполовинить одним разрезом.

Мертвый человек и спичка

Вопрос: Среди поля найден мертвый человек со спичкой в руках, следов нет. От чего он умер и при каких обстоятельствах?

Ответ: Человек умер от падения с самолета, который начал терять высоту, и авария была неизбежна. На всех пассажиров не хватило одного парашюта и они тянули жребий. Ему досталась короткая спичка, и он был вынужден прыгать без парашюта.

Автобус и мячи

Вопрос: Сколько теннисных мячей поместится в автобус?

Ответ: Точного правильного ответа не знает и сам рекрутер, так как не уточняется, что за мячи и автобус — их размеры не известны, и никто досконально это не проверял. Поэтому тут важен ход ваших мыслей, вы можете только предположить. Назовите примерные длину, ширину и высоту автобуса, размеры одного мяча. Посчитайте объем автобуса и мяча — так вы узнаете сколько мячей поместится в пустой автобус. Уменьшите примерно это значение с учетом сидений и других деталей автобуса, сделайте поправку на то, что мячи не квадратные и дайте ответ. В этом случае процесс поиска ответа важнее самого ответа. Варианты вопроса могут быть разные: мячи — футбольные, вместо автобуса — комната и т.п.

Таблетки

Вопрос: Доктор выдал пациенту 4 таблетки двух видов — по 2 таблетки каждого, которые нельзя отличить по внешнему виду. Таблетки надо выпить за два приема: утром по одной таблетке каждого вида и так же вечером. Если нарушить дозировку или не принять таблетки, то пациент умрет. Так вышло, что таблетки перемешались. Как пройти курс лечения и выжить?

Ответ: Конечно, можно сказать, что лучше пойти к врачу и попросить еще, все таки вопрос жизни и смерти. Но это могут быть единственные таблетки на Земле, доктор может исчезнуть при загадочных обстоятельствах и т.д. Так что ответить все же придется. К тому же все достаточно просто: нужно разделить каждую таблетку на 2 части и выпить по половинке каждой таблетки утром и вечером.

В заключение

Помните, что прежде всего такие задачи и головоломки предназначены для того, чтобы проверить поведение кандидата в нестандартных ситуациях, оценить способность к размышлению, творческому и логическому подходу. Увы, нередки случаи, когда интервьюер не может правильно интерпретировать результаты таких вопросов, или вовсе не понимает их предназначения. Но даже в этой ситуации уверенное поведение и стремление прийти к ответу покажут вас с лучшей стороны и увеличат шансы получить должность.


Читайте также: Вопросы-головоломки на собеседованиях с ответами. Часть 2



задачи с IT-собеседований с разбором решений

При приеме сотрудника в офис на должность программиста, работодатель испытывает кандидата не только вопросами о навыках, но и всевозможными логическими задачами, IT-кейсами и заданиями по разработке для профессиональных программистов.

Как правило, список этих задач у работодателей совпадает, а значит, мы можем подготовиться к любому собеседованию!

Издание Tprogerсобрало воедино все самые интересные и популярные задачи для программистов, которые могут встретиться вам на собеседовании. С разрешения этого издания мы решили перепубликовать эту подборку.

1. Есть однонаправленный список из структур. В нём random указывает на какой-то еще элемент этого же списка. Требуется написать функцию, которая копирует этот список с сохранением структуры (т.е. если в старом списке random первой ноды указывал на 4-ю, в новом списке должно быть то же самое – рандом первой ноды указывает на 4-ю ноду нового списка). O(n), константная дополнительная память + память под элементы нового списка. Нельзя сразу выделить память под все данные одник куском т.е. список должен быть честным, разбросанным по частям, а не единым блоком, как массив.

Вот один из вариантов решения. Делаем обход списка, создаём дубликаты узлов и вставляем их по next, получая 2*N элементов, каждый нечётный ссылается на свой дубликат. Делаем второй обход списка, в каждом чётном узле random = goalma.org Делаем третий обход списка, в каждом узле next = goalma.org

Есть ещё один вариант от Пашки Джиоева.

Node *copyList(Node *head) { for (Node* cur = head; cur != NULL; cur = cur->next) { Node* dup = (Node*)malloc(sizeof(Node)); dup->data = cur->data; dup->next = cur->random; cur->random = dup; } Node* result = head->random; for (Node* cur = head; cur != NULL; cur = cur->next) { Node* dup = cur->random; dup->random = dup->next->random; } for (Node* cur = head; cur != NULL; cur = cur->next) { Node* dup = cur->random; cur->random = dup->next; dup->next = cur->next ? cur->next->random : NULL; } return result; }
Node *copyList(Node *head) { for (Node* cur = head; cur != NULL; cur = cur->next) { Node* dup = (Node*)malloc(sizeof(Node)); dup->data = cur->data; dup->next = cur->random; cur->random = dup; } Node* result = head->random; for (Node* cur = head; cur != NULL; cur = cur->next) { Node* dup = cur->random; dup->random = dup->next->random; } for (Node* cur = head; cur != NULL; cur = cur->next) { Node* dup = cur->random; cur->random = dup->next; dup->next = cur->next ? cur->next->random : NULL; } return result; }

2. Классическая задачка с собеседований в Google. На доске записаны числа, вам нужно ответить на вопрос: какое число идёт дальше?

 задачи с IT-собеседований с разбором решений

Чаще всего все пытаются отыскать – безуспешно – какую-либо закономерность в серии чисел, которая кажется совершенно бессмысленной. Но здесь нужно забыть математику. Произнесите эти числа на английском (см. рисунок), окажется, что они расположены в порядке возрастания числа букв, содержащихся в их написании.

 задачи с IT-собеседований с разбором решений

Теперь приглядитесь еще более внимательно к этой серии. 10 – не единственное число из трёх букв. На этом месте могло бы быть 1, 2 и 6 (one, two и six). То же можно сказать и про 9, подойдут 0, 4 и 5 (zero, four и five). Таким образом можно сделать вывод, что в список включены самые крупные числа из тех, что можно выразить словами с заданным числом букв.

Так какой будет правильный ответ? Очевидно, что в числе, следующем за 66, должно быть девять букв (не считая возможного дефиса), и оно должно быть самым крупным в своём роде. Немного подумав, можно сказать, что ответ будет 96 (ninety-six). Вы понимаете, что сюда не подходят числа, превышающие , поскольку для «one hundred» уже нужно десять букв.

Может быть, у вас возникнет вопрос, почему в приведённом списке на месте 70 не стоит сто (hundred), или миллион, или миллиард, для написания которых также нужно семь букв. Скорее всего потому, что на правильном английском языке говорится не «сто», а «одна сотня», то же относится и к двум другим случаям.

Казалось бы, всё, вот он правильный ответ. В Google его считают приемлемым, но не самым совершенным. Есть число побольше:

10 ,

которое записывается как «one googol» (девять букв).

Однако и это еще не самый лучший вариант. Идеальный ответ: «ten googol», десять гуголов.

Хотите узнать историю этого ответа? Погуглите;)

3. Допустим, вы летите из Москвы во Владивосток, а затем обратно, при полном безветрии. Затем вы совершаете точно такой же перелёт, но на этот раз на п ротяжении всего перелёта дует постоянный западный ветер: в одну сторону попутный, в обратную — лобовой.

Как изменится суммарное время перелёта туда-обратно?

  • Уменьшится

  • Увеличится

  • Не изменится

Обычно после прочтения задачи возникает желание заявить, что влиянее ветра в целом нулевое. Встречный ветер замедлит движение в одном направлении, но в обратном пути он будет дуть вам в спину, что позволит преодолеть путь быстрее. В целом это так, но будет ли при этом время полёта таким же?

 задачи с IT-собеседований с разбором решений

Представим самолёт, который летает со скоростью км/ч. Так случилось, что из-за погодной аномалии возник поток воздуха, дующий с запада также со скоростью км/ч. При полёте на восток это создаст дополнительную силу и вы сможете прибыть во Владивосток вдвое быстрее. Но при обратном полёте, даже если самолёт поднимется в воздух, его скорость относительно земли будет нулевой. Самолёт никогда не вернётся, суммарное время полёта будет бесконечным.

Если ориентироваться на этот предельный случай, то легко понять в чём трудность. При 5 часовом полёте попутный ветер может сэкономить вам максимум 5 часов, но встречный может стоить целой вечности. Этот базовый принцип верен при любом ветре. Ветер, дующий со скоростью км/ч сократит время полёта в одном направлении примерно на часа, но добавит 5 часов при полёте в другом направлении.

Вывод: постоянно дующий ветер всегда увеличивает общее время полёта туда и обратно.

Вопрос к подписчикам на засыпку: как изменится время при таком же перелёте, если ветер будет дуть с севера т.е. под прямым углом к направлению полёта?

4. Что не так в этом отрывке кода на С++?

operator int() const { return *this; }

А вот полный код для проверки.

class Foo { public: operator int() const { return *this; } }; int main() { Foo foo; int i = foo; return 0; }

Он скомпилируется, хотя некоторые компиляторы могут кинуть warning, сразу же объясняющий в чём суть ошибки. Но вот при запуске вы словите stack overflow. Дело в том, что operator int будет пытаться привести возвращаемое значение к типу int, что вполне можно сделать, ведь для текущего объекта у нас есть замечательный operator int, который это и делает. Т.е. функцию вызовет сама себя и будет продолжать это делать рекурсивно, пока не переполнится стек.

5. Задача, которая была популярна в своё время на собеседованиях в Amazon. Мы русифицировали её, но смысл остался тот же. Вам нужно продолжить последовательность.

 задачи с IT-собеседований с разбором решений

Вот один из возможных ответов на эту задачу. Последовательности сопоставлены буквы алфавита, закодированные в набор «П» и «К» — некоторых характеристик. Нужно найти что-то, чего в букве А три, в Б — две и т.д. Тут подходит количество прямых штрихов и кривых. Далее несложно догадаться, что букве Д соответствует, например, «ППППП», в случае её написания как на предложенном рисунке.

Последовательности сопоставлены буквы алфавита, закодированные в набор «П» и «К» — некоторых характеристик. Нужно найти что-то, чего в букве А три, в Б — две и т.д. Тут подходит количество прямых штрихов и кривых. Далее несложно догадаться, что букве Д соответствует, например, «ППППП», в случае её написания как на предложенном рисунке.

 задачи с IT-собеседований с разбором решений

Идеи и решения от подписчиков

В комментариях к посту с задачей можно было найти множество интересных решений, которые перечислены ниже.

Алгоритмы Маркова

Оба алгоритма работают при проходе с конца строки.

Ответ: ПК, КК, П, К

Ответ: ПК

Двоичная система счисления

П — это 1, К — это 0.

Тогда закономерность в десятичной системе счисления будет иметь вид:

  • 7 (ППП — ),

  • 6 (=) (ППК — ),

  • 4 (=) (ПКК — ),

  • 3 (=) (ПП — 11),

а значит, далее следуют

  • 1 (=) (1 — П) и

  • (=) (0 — К).

Ответ: П, К.

Цикл

Существует цикл заполнения строки буквами К с конца, при этом, когда остается всего одна П (очевидно, слева), то вся строка преобразуется к строке из букв П, но на одну меньше, т.е.:

заполняем буквами К с конца

осталась одна П, уменьшим длину

снова укорачиваем

Ответ: ПК, П

Скобочная последовательность

Забавный вариант: П — пусть, К — конец, тогда можно построить аналогию с открывающимися-закрывающимися скобками :) Закономерность не найдена.

UPD. Был предложен вариант рассматривать всю последовательность букв как единую скобочную последовательность:

  • ((( (() ()) (( )) )))

  • ППП ППК ПКК ПП ККК КК

или

Ответ: ККККК (в разных вариантах: КК, ККК или ККК, КК и т.п.)

Несоставные числа

Посчитаем количество «дырок в буквах»:

  • ППП — 3

  • ППК — 5

  • ПКК — 7

  • ПП — 2

Заметим, что все это — простые (т.е. не составные) числа до Заметим, что есть еще только одно не составное число, меньшее 10 — это единица.

Ответ: П

Произведение 1 и -1

П — это К — это 1. Вариант наоборот, естественно, также подойдет. Тогда рассмотрим их произведения:

  • ППП = -1

  • ППК = 1

  • ПКК = -1

  • ПП = 1

вариантов продолжения несколько, автор предложил такой:

  • ПК = -1

  • КК = 1

  • П = -1

  • К = 1

Ответ: ПК, КК, П, К

Сумма

П = 15, К = Естественно, подойдут любые другие числа такие, что П:К = Рассмотрим ряд:

  • ППП: П+П+П = 45

  • ППК: П+П+К = 40

  • ПКК: П+К+К = 35

  • ПП = 30

в качестве продолжения напрашиваются:

  • ПК = 25

  • КК = 20

  • П = 15* К = 10

Ответ: ПК, КК, П, К

Русский язык в помощь

Вариант с хронологией выпуска девайсов:

  • ППП — первое промышленное производство, или первое производство процессоров

  • ППК — первый персональный компьютер

  • ПКК — первый карманный компьютер

  • ПП — первый планшет

  • ПС — первый смартфон

Ответ: ПС

Азбука Морзе

К сожалению, закономерности найти никто не смог. Может быть, это удастся вам?

Занимательно то, что при разных вариантах решения очень часто появлялся ответ ПК, КК, П, К…

6. Как это вычислить, не пользуясь калькулятором? Можете дать приблизительный ответ?

 задачи с IT-собеседований с разбором решений

Приведём один из вариантов возможных рассуждений. Любой инженер знает, что 210 = Будем считать, что это приблизительно Умножим 210 на себя шесть раз и получим 260. Это около в шестой степени или 1018, также известное как квинтиллион. Осталось только умножить его на 24(16), чтобы получить искомое 264. Таким образом, очень приблизительный, но быстрый ответ будет 16 квинтиллионов.

На самом деле, чуть больше, т.к. на % больше Мы используем это приближение 6 раз, и поэтому ответ должен быть чуть более, чем на 12% больше. Это добавляет еще 2 квинтиллиона. Поэтому более точно будет 18 квинтиллионов.

Точное значение: 18

Есть еще один быстрый хак. Многие знают, что максимальное число битного unsigned int — это что-то около 4 миллиардов т.е. 232 ? 4х109. Осталось только умножить это само на себя и получить около 16—17 квинтиллионов.

7. «Вас уменьшили до размеров 5-центовой монеты и бросили в блендер. Ваш вес уменьшился так, что плотность вашего тела осталась прежней. Лезвия начнут вращаться через 60 секунд. Ваши действия?»

Это классическая google-задачка, хороший разбор которой в рунете не так-то просто найти. Мы подготовили его для вас. Абсолютного правильного ответа нет, но есть те, которые явно лучше остальных.

Начнём с классификации наиболее популярных ответов, затем расскажем про тот, который считается лучшим среди интервьюверов в Google.

Многие соискатели выдают один забавный ответ: «Так как блендер очень скоро включат, можно предположить, что в него положат какие-то продукты, и поэтому мне, может быть, лучше подставить свою шею под лезвие, чем задохнуться из-за паров той жижи, которая скоро появится в блендере».Если же говорить о часто встречающихся серьезных ответах, то лидерами являются такие.

Первый. Лечь как можно плотнее к днищу, чтобы лезвия крутились надо мной.

Второй. Встать с той стороны блендера, где крепятся лезвия. Возможно, между стенкой и устройством крепления есть зазор шириной в 5-центовую монету.

Третий. Залезть по лезвию на ось вращения и найти такое место, где при вращении лезвий можно сохранять равновесие. Схватиться покрепче. Итоговая центростремительная сила в этом случае будет близка к нулю, что и позволит удержаться.

Первые три варианта дают некоторый шанс на выживание, но что если лезвия будут крутиться долго? Или конструкция такова, что вас всё таки заденет остриём? И вообще, если вдуматься, кто и зачем вас бросил в блендер? Если это какие-то враждебные существа, которые собираются приготовить соус из человека, то ваши долгосрочные шансы на выживание будут очень небольшими при любом варианте.

Вот стандартные ответы интервьюверов на уточняющие вопросы: «По поводу враждебных существ не беспокойтесь». «Никакой жидкости добавлено не будет». «Крышки у блендера нет». «Исходите из того, что лезвия будут вращаться до тех пор, пока вы не погибните».

Четвертый подход отличается — нужно выбраться во вне. Интервьювер поинтересуется, как вы будете это делать. Одним из самых ярких ответов был такой: при очень малом весе вы сможете взобраться по стенке примерно так же, как это делают мухи.

Пятый, не самый оптимистичный, вариант — воспользоваться телефоном и позвонить или отправить sms с просьбой о помощи. Тут всё зависит от того, уменьшился ли так же ваш телефон, сможет ли он работать с базовой станцией (которая осталась прежней) и какова будет скорость реакции службы спасения (и будет ли вообще?).

Шестой вариант: разорвать одежду на полосы, чтобы сделать из них верёрвку и воспользоваться её, чтобы выбраться. Но реально ли это сделать за одну минуту? Как крепить верёвку сверху? И даже если это удастся, как потом спуститься вниз?

Есть и седьмой: использовать одежду и собственные усилия, чтобы как-то заблокировать (или даже сломать) лезвия или работу мотора. Но и здесь могут возникнуть проблемы.

Ни один из перечисленных ответов не принесёт вам в Google много баллов. Интервьюверы рассказывали, что лучший ответ, который они слышали был таким — выпрыгнуть из блендера.

Ух ты? В вопросе даётся важный ключ — слово «плотность». Эта подсказка наводит на мысль, что важны вес и объем тела (а на другие «нереалистичности» можно не обращать внимания) и что подходящий ответ должен строиться на простейших законах физики.

Короче: интервьювер хочет, чтобы вы сфокусировались на последствиях, связанных с изменением размера. Вы, вероятно, слышали, что муравей способен поднять вес, в 50 раз превышающий вес его тела. Это объясняется не тем, что его мускулы лучше, чем у человека, а тем, что муравей маленький. Вес любого живого существа пропорционален кубу его высоты. Сила мускулов и скелета, поддерживающего их, зависит от площади их поперечного сечения, которая пропорциональна квадрату высоты. Если вас уменьшить до 1/10 вашего роста, сила ваших мускулов уменьшится в сто раз, но ваш вес уменьшится еще больше — в тысячу раз. Про прочих равных условиях небольшие существа «сильнее».

В середине х годов Джованни Альфонсо Борелли, современник Галилео, предположил, что всё, что прыгает, поднимается примерно на одинаковую высоту. Подумайте хорошенько об этом. Если вы физически здоровы, то, вероятно, сможете подпрыгнуть сантиметров на Эта высота не преграда и для других живых существ: лошади, кролика, лягушки, кузнечика или блохи. Разумеется, есть вариации, но общее правило именно такое: самые крутые баскетболисты NBA могут поднять свой центр тяжести примерно на такую же высоту, как и блоха.

Мускульная энергия в конечном счёте определяется химическими процессами: глюкозой и водородом, циркулирующем в крови, а также АТФ, имеющимся в клетках мускул. Количество любых хим. веществ пропорционально объему вашего тела т.е. если вы уменьшитесь до 1/n вашего размера, то мускульная энергия сократится в n? раз.

К счастью, вес уменьшится так же. Поэтому при размере в монетку, высота вашего прыжка (если не учитывать сопротивление воздуха) никак не изменится. Высота блендера примерно 30 см. Если вы можете сейчас перепрыгнуть через препятствие такой высоты, то удрать из блендера для вас не будет проблемой.

 задачи с IT-собеседований с разбором решений

Возможно, вы спросите, как же упав потом с такой высоты вы не поломаете себе кости? Поверхность, которую вы теперь занимаете, составит 1/n? по сравнению с вами обычным, а вес сократится еще больше, до 1/n? прежнего. Соотношение площади поверхности к весу возрастёт в n раз, поэтому когда вы приземлитесь, никаких поврежений у вас не будет. Это объясняет, почему любое существо размером с мышь и менее может не беспокоиться и падать с любой высоты.

8. Вопрос по С++. Что за ошибка «pure virtual function call»? В какой ситуации она может быть сгенерирована? Предоставьте минимальный код, приводящий к ней.

Те, кто столкнулись с этой ошибкой в живом проекте и не знали про неё ранее, наверняка потратили немало времени на отлов этого бага. Разберём его по полочкам.

Как работает механизм виртуальных функций? Обычно он реализуется через «vtbl» (virtual table) — таблицу с указателями на функции. Каждый экземпляр класса, содержащего хотя бы одну виртуальную функцию имеет указатель __vtbl на таблицу vtbl для своего класса. В случае с абстрактным классом и чистой виртуальной функцией, указатель всё равно есть, но на стандартный обработчик __pure_virtual_func_called(), который и приводит к такой ошибке. Но как его вызвать, ведь прямая попытка будет отловлена уже на этапе компиляции?

#include <iostream> class Base { public: Base() { init(); } ~Base() {} virtual void log() = 0; private: void init() { log(); } }; class Derived: public Base { public: Derived() {} ~Derived() {} virtual void log() { std::cout << "Derived created" << std::endl; } }; int main(int argc, char* argv[]) { Derived d; return 0; }

Разберём, что происходит при инстанцировании экземпляра объекта класса-потомка, который содержит vtbl.

Шаг 1. Сконструировать базовую часть верхнего уровня:

  1. Установить указатель __vtbl на vtbl родительского класса;

  2. Сконструировать переменные экземпляра базового класса;

  3. Выполнить тело конструктора базового класса.

Шаг 2. Наследуемая часть(-и) (рекурсивно):

  1. Поменять указатель __vtbl на vtbl класса-потомка;

  2. Сконструировать переменные класса-потомка;

  3. Выполнить тело конструктора класса-потомка.

Теперь взглянем на пример на картинке. Несложно догадаться, что когда будет создаваться объект класса Derived, то на шаге выполнения конструктора базового класса, он сам по себе будет еще считаться базовым классом и его vtbl будет от базового класса. Обычно компиляторы не детектируют такое заранее и ошибка ловится только в runtime.

Вывод: избегайте вызовов виртуальных функций в конструкторах и деструкторах, причём как явных, так и через другие функции.

Почитать подробнее про это можно на goalma.org или в книжке Скотта Майерса «Effective C++», совет номер 9.

9. В вашем распоряжении 10 тысяч серверов в дата-центре с возможностью удалённого управления и один день, чтобы получить миллион долларов. Что вы для этого сделаете?

Ответ можно давать в двух направлениях.

Первое состоит в том, чтобы воспользоваться возможностью произвести на интервьювера положительное впечатление — предложить ему ваш любимый, но не реализованный пока бизнес-план. В Microsoft, например, вас скорее всего внимательно и вежливо выслушают, а затем спросят: «Да, это интересно, но вы уверены, что сможете заработать миллион долларов уже в первый день?».

А вот ответ в стиле Google: продайте серверы, по крайней мере, за долларов каждый. Это принесёт вам 1 миллион долларов или, что более вероятно, еще больше — 10 миллионов. Затем, если у вас есть какой-то великолепный бизнес-план, используйте эти деньги как стартовый капитал. Это позволит вам проработать достаточно долго и успеть заинтересовать одного из венчурных капиталистов (который достаточно умён и понимает, что великие идеи не позволяют заработать миллион долларов уже в первый день).

У вас есть аналоговые часы с секундной стрелкой. Сколько раз в день все три стрелки часов накладываются друг на друга?

 задачи с IT-собеседований с разбором решений

Эта задача — вариант классического вопроса, задававшегося на собеседованиях в Microsoft, когда претендентов спрашивали, сколько раз в день часовая и минутная стрелки встречаются друг с другом. Посколько этот вопрос сейчас стал широко известен, интервьюверы начали использовать его разновидность.

Рассмотрим сначала вариант наиболее ожидаемого решения, математического. Во-первых, представьте ситуацию, когда часовая и минутная стрелки наложились. Все знают, что это происходит в полночь, затем приблизительно в , , и так далее. Другими словами, они накладываются друг на друга каждый час, за исключением периода от до В более быстрая минутная стрелка находится на 12, а более медленная часовая — на До дня они друг с другом не встретятся, и поэтому их наложения в районе 11 часов не будет.

Таким образом, за каждый часовой период происходит 11 наложений. Они равномерно распределены во времени, поскольку обе стрелки двигаются с постоянной скоростью. Это означает, что интервалы между наложениями составляют 12/11 часа. Это эквивалентно 1 часу 5 минутам 27 и 3/11 секундам. Поэтому за каждый часовой цикл наложения происходят в периоды, указанные на картинке.

 задачи с IT-собеседований с разбором решений

Вернёмся к секундной стрелке. Её наложение на минутную возможно тогда, когда число минут совпадает с числом секунд. Точное наложение происходит в В целом минутные и секундные стрелки накладыватся лишь на долю секунды. Например, в секундная стрелка будет показывать на 37, отставая от минутной, которая в это время будет между 37 и 38 и отставать от часовой. Через мгновение минутная и секундная наложатся, но часовой возле них не будет. Т.е. наложения всех трёх стрелок не произойдет.

Секундная стрелка не наложится ни в одном из вариантов на картинке, за исключением полуночи и полудня. Это означает, что финальный ответ на вопрос: дважды в сутки.

А вот ответ, приветствуемый в Google. Секундная стрелка предназначена для показа коротких временных интервалов, а не для сообщения времени с точностью до секунды. Если она не синхронизирована с двумя другими стрелками, это вполне нормально. Под «синхронизацией» здесь понимается, что в полночь и полдень все три стрелки указывают точно на Большинство аналоговых часов всех видов не позволяют вам точно установить секундную стрелку. Нужно было бы извлечь батарейку или подождать, если говорить о механических часах, когда закончится завод пружины, а затем, когда секундная стрелка остановлена, синхронизировать минутную и часовую стрелки друг с другом, после чего дождаться, когда наступит время, показанное на часах, чтобы вернуть батарейку или завести часы.

Чтобы все это проделать, нужно быть маньяком или фанатеть от пунктуальности. Но если вы всего этого не проделаете, секундная стрелка не будет показывать «реального» времени. Она будет отличаться от точных секунд на какую-то величину в случайном интервале, доходящем до 60 секунд. Учитывая случайные расходждения, шансов на то, что все три стрелки когда-либо встретятся, не существует. Этого не случается никогда.

В чём разница между string и String в C#?

 задачи с IT-собеседований с разбором решений

Ответ на самом деле очень прост: string — это просто псевдоним (alias) для goalma.org т.е. технически, никакой разницы нет. Так же, как и нет разницы между int и goalma.org

Что касается стиля оформления кода, то тут есть несколько советов.

Обычно рекомендуется использовать string, когда вы имеете в виду объект:

В противовес случаю, когда вам нужно обратиться именно к классу, например:

По крайней мере этот тот стиль, которого придерживается Microsoft в своих примерах.

На картинке показан полный список псевдонимов. Единственный тип, который не имеет псевдонима — это goalma.org, его всегда нужно писать именно так.

 задачи с IT-собеседований с разбором решений

Однако есть один случай, когда нужно обязательно использовать псевдонимы: в явных объявлениях типа для перечисления:

public enum Foo : UInt32 {} // Неправильно public enum Bar : uint {} // Правильно

Также рекомендуем вам относится с осторожностью к типам, когда вы реализуете какой-либо API, который может использоваться клиентами на других языках. Например, метод ReadInt32 вполне однозначен, тогда как ReadInt — нет. Тот, кто использует ваш API может пользоваться языком, в котором int является 16 или битным, что не совпадает с вашей реализацией. Этому совету отлично следуют разработчики .Net Framework, хорошие примеры можно найти в классах BitConverter, BinaryReader и Convert.

Вы играете в футбол на пустынном острове и хотите подбросить монетку, чтобы решить, какой команде достанется мяч. Единственная монета, что у вас есть, является гнутой, и поэтому вносит явные искажения в результат при подбрасывании. Как вы тем не менее можете использовать такую монету, чтобы принять справедливое решение?

Есть два варианта решения этой задачи.

Первый состоит в том, чтобы подбрасывать монету множество раз, чтобы определить процент выпадания орла и решки. После того как вы установите, например, что монета выпадает орлом в % случаев (с установленным пределом ошибки), вы используете этот факт, чтобы продумать ставку со множеством подбрасываний, при котором шансы на получение результата будут близки к желаемому.

Второй ответ куда проще: подбросьте монету дважды. Возможны четыре исхода: ОО, ОР, РО и РР (Р — решка, О — орёл). Поскольку монета «благосклонна» к одной стороне, шансы выпадения ОО не эквивалентны шансам РР. С другой стороны, вероятности выпадения ОР и РО должны быть одинаковы, независимо от степени «благосклонности» монеты. Одна команда ставит на ОР, вторая — на РО. Если выпадает ОО или РР, игнорируйте их результаты и бросайте еще два раза.

Помимо того, что эта схема проще, она к тому же и, бесспорно, справедлива. Первый же вариант, если говорить о точности, лишь приближается к шансам пятьдесят на пятьдесят.

Cколько мячей для гольфа войдет в школьный автобус?

Для справки: в Национальных стандартах транспотрных средств для школ в США на год указаны максимальные размеры школьного автобуса и равны 40 футам в длину и футам в ширину. Стандартный диаметр мяча для гольфа — дюйма с допуском дюймов.

Очевидно, что это задача Ферми, где от вас требуется приблизительная прикидка, правдоподобная по порядку величины. Приведём пример таких рассуждений.

Школьный автобус, как и любое другое транспортное средство, должен по своим параметрам соответствовать дорожному полотну т.е. быть не намного шире, чем легковые авто. В фильмах мы видели, что в нём есть сиденья для четырёх детей (используются ли где-то такие автобусы в России? — прим. ред.), а также проход посередине. И есть место, где может стоять учитель. Будем исходить из того, что ширина автобуса около метра, высота примерно 2 метра. Напомним, что точные цифры не так важны, важен порядок. Сколько рядов сидений в автобусе? Пусть будет Каждому ряду необходимо около метра или чуть меньше, длину примем за 11 метров. Итого общий объём будет около 55 куб. метров.

Диаметр мяча для гольфа приблизительно 3 см. Будем считать, что ~ см, чтобы 30 таких мячей, положенных в ряд, составили см. Кубическая конструкция из 30х30х30 таких мячей, то есть 27 мячей, поместится в кубическом метре. Умножим это на 55, получится что-то около млн.

Обратите внимание, что многие вопросы Ферми связаны со сферическими спортивными предметами, заполняющими автобусы, бассейны, самолёты или стадионы. Вы можете получить дополнительные баллы, если упомяните гипотезу Кеплера. В конце х годов сэр Уолтер Рейли попросил английского математика Томаса Хэрриота придумать более эффективный способ укладки пушечных ядер на кораблях британского военного флота. Хэрриот рассказал об этой задаче своему другу астроному Иоганну Кеплеру. Кеплер предположил, что самый плотный способ упаковки сфер уже и так применяется — при укладке пушечных ядер и фруктов. Первый слой кладётся просто рядом друг с другом в виде шестиугольной формы, второй в углублениях на стыках шаров нижнего слоя я и т.д. В крупной таре при таком варианте укладки максимальная плотность составит около 74%. Кеплер полагал, что это самый плотный вариант упаковки, но не смог этого доказать.

Гипотеза Кеплера, как её назвали позднее, оставалась великой нерешённой проблемой в течение нескольких столетий. В году Дэвид Гилберт составил известный список из 23 нерешённых математических задач. Некоторые люди утверждали, что им удалось доказать эту гипотезу, однако всех их решения на поверку оказывались неудачными и относились к числу неверных. Так длилось до года, когда Томас Хэйлс предложил сложное доказательство при помощи компьютера, которое подтвердило правоту Кеплера. Большинство специалистов уверены, что его результат в конечном счёте окажется верным, хотя его проверка не закончена.

Выше мы предположили, что каждый мяч для гольфа фактически лежит в кубе из прозрачного очень тонкого пластика так, что края куба равны диаметру мяча. Это означает, что мячи занимают около 52% пространства (Pi/6, если говорить точнее, можете подсчитать сами). Если вынуть мячи из воображаемого кубика, то можно поместить в заданный объем гораздо больше мячей, это проверенный эмпирически факт. Физики проделали эксперименты, заполняя стальными шариками крупные фляги и вычисляя плотность заполнения. Результат был от 55% до 64% использования пространства. Это более плотный вариант, чем применили мы, хотя он и не дотягивает до максимума Кеплера, равного примерно 74%. К тому же разброс результатов довольно большой.

Как же нам следует поступить? Укладывать шары строго идеально в реальности мы не сможем, это слишком абсурдно даже для ответа на абсурдный вопрос. Намного более реалистичная цель — плотность, достигаемая при периодическом потряхивании или помешивании контейнера. Вы можете добиться её, если будете распределять шары с помощью палки более равномерно. Это повысит плотность примерно на 20%, чем при варианте с кубической решёткой. Тем самым можно увеличить исходную оценку до млн мячей.

Представьте себе вращающийся диск, например DVD. У вас есть в распоряжении черная (Ч) и белая (Б) краски. На краю диска установлен небольшой датчик, который определяет цвет под ним и выдает результат в виде сигнала. Как бы вы раскрасили диск, чтобы было возможно определить направление вращения по показаниям датчика?

 задачи с IT-собеседований с разбором решений

Дадим небольшое пояснение к задаче. Первое, что нужно иметь ввиду, это то, что нельзя наблюдать за самим диском. Например, вы сидите в офисе, а диск вращается в закрытой лаборатории. Единственная возможность определить направление вращения — использовать оцифрованные показания датчика, и ничего больше.

Датчик фиксирует цвет точки в непосредственном месте установки в последовательные моменты времени. Показания представляются в виде «ЧЧЧББ…». Задача сводится к такой раскраске диска, где последовательность показаний отличается при вращении в прямую и в противоположную стороны.

Дадим небольшое пояснение к задаче. Первое, что нужно иметь ввиду, это то, что нельзя наблюдать за самим диском. Например, вы сидите в офисе, а диск вращается в закрытой лаборатории. Единственная возможность определить направление вращения — использовать оцифрованные показания датчика, и ничего больше.

Датчик фиксирует цвет точки в непосредственном месте установки в последовательные моменты времени. Показания представляются в виде . Задача сводится к такой раскраске диска, где последовательность показаний отличается при вращении в прямую и в противоположную стороны, то есть последовательность не должна быть палиндромом.

Палиндромы — это такие слова или фразы, которые читаются задом наперед так же как и обычным образом. Например: топот, ротор, «лезу в узел». Придумать палиндром не так легко, в то время как привести пример асимметричной фразы очень просто. Может показаться, что так же легко придумать такую раскраску диска, однако возникает две сложности. Во-первых, в постановке задачи мы ограничиваемся только 2 буквами Ч и Б. Во-вторых, нам нужно избавиться от циклического палиндрома, так же, как и от обычного.

Например, нельзя покрасить половину диска в белый цвет, а вторую половину в черный. Показания будут как . В обычном смысле это не палиндром, но это циклический палиндром. То есть, если соединить начало и конец последовательности, то получим одинаковые показания при вращении как по часовой стрелке, так и против. При наблюдении за бесконечным потоком показаний нельзя сказать, в каком направлении вращается такой диск.

Не все регулярные последовательности являются циклическими палиндромами. Если бы нам были доступны 3 цвета: черный (Ч), белый (Б) и красный (К), то можно нарисовать 3 одинаковых по площади сектора разных цветов. Тогда по часовой стрелке показания были бы вроде , а наоборот . В данном случае они легко различимы. В первых показаниях красный сразу следует за черным, а на вторых показаниях красный следует за белым.

Изначальная постановка задачи не допускает использование третьего цвета, но позволяет взамен использовать раскраску «зебру». Один из трех секторов можно закрасить множеством тонких полос с чередованием черного и белого цветов. Тогда хорошо заметно, когда частые полосы идут после черного сектора (по часовой стрелке) или после белого сектора (против часовой стрелки).

Это решение можно улучшить. Ведь вам не сказано, насколько быстро вращается диск и с какой частотой датчик в состоянии регистрировать изменения цвета (грубо говоря, задержка экспозиции). Диск может вращаться настолько быстро, что датчик будет регистрировать цвет только одного места на диске и пропускать все остальные. Это может ввести в заблуждение при интерпретации полученных показаний.

Очевидно желание сделать меньшее число полос, а сами полосы шире, насколько это возможно. На самом деле достаточно 2 полосы в «полосатом секторе», если, конечно, они противоположного цвета, по отношению к смежным секторам.

При такой раскраске и при условии возможности снятия 6 показаний за 1 оборот, поворот по часовой стрелке будет давать последовательность вроде , а против часовой стрелки, эта последовательность будет идти в обратном порядке.

 задачи с IT-собеседований с разбором решений

Также представляет интерес похожая задача, где диск уже раскрашен на две половинки в черный и белый цвета. Допускается установка неограниченного числа фиксированных датчиков у края диска. Вопрос: сколько датчиков требуется установить для определения направления вращения?

Все что мы может получить с одного датчика (при новой постановке задачи) — это соотношение черного и белого в покраске, что и так известно (50/50). Если мы возьмем 2 датчика и разместим их диаметрально противоположно, то вновь не получим ничего полезного, так как второй датчик всегда будет давать противоположное показание.

Вместо этого, можно разместить 2 датчика рядом, например первый датчик в произвольном месте, а второй в 10 градусах по часовой стрелке от первого. Большую часть времени оба датчика будут давать одинаковые показания, однако, при смене цветов, один датчик заметит изменение раньше, чем другой.

Показания датчиков могут выглядеть следующим образом:

Такие наблюдения означают, что переход Ч-Б фиксируется первым датчиком раньше, чем вторым. В этом случае переход Ч-Б и сам диск должен вращаться по часовой стрелке. Если это изменение, наоборот, фиксируется вторым датчиком раньше чем первым, то вращение происходит против часовой стрелки.

У вас есть исходный код приложения на языке С, которое аварийно завершается после запуска. После десяти запусков в отладчике вы обнаруживаете, что каждый раз программа падает в разных местах. Приложение однопоточное и использует только стандартную библиотеку С. Какие ошибки могут вызвать падение приложения? Как вы проверите каждую?

Вопрос в значительной степени зависит от типа диагностируемого приложения. Однако мы можем привести некоторые общие причины случайных отказов.

  1. «Случайная» переменная: приложение может использовать некоторое «случайное» значение или переменную-компонент, которая не имеет конкретного точного значения. Примеры: ввод данных пользователем, случайное число, сгенерированное программой, время суток и т.д.

  2. Неинициализированная переменная: приложение может использовать неинициализированную переменную, которая в некоторых языках программирования по умолчанию может принимать любое значение. Таким образом, код может каждый раз выполняется по-разному.

  3. Утечка памяти: программа, возможно, исчерпала все ресурсы. Другие причины носят случайный характер и зависят от количества запущенных в определенное время процессов. Сюда же можно отнести переполнение кучи или повреждение данных в стеке.

  4. Внешние причины: программа может зависеть от другого приложения, машины или ресурса. Если таких связей много, программа может «упасть» в любой момент.

Чтобы найти проблему, нужно максимально изучить приложение. Кто его запускает? Что делают пользователи? Что делает само приложение?

Хотя приложение падает не в каком-то конкретном месте, возможно, само падение связано с конкретными компонентами или сценариями. Например, приложение может оставаться работоспособным в момент запуска, а сбой происходит только после загрузки файла. Или же сбой происходит в зоне ответственности компонентов низкого уровня, например при файловом вводе-выводе.

Можно делать выборочное тестирование. Закройте все остальные приложения. Очень внимательно отслеживайте все свободные ресурсы. Если есть возможность отключить части программы, сделайте это. Запустите программу на другой машине и посмотрите, возникнет ли эта ошибка. Чем больше мы можем изменить, тем легче найти проблему.

Кроме того, можно использовать специальные инструменты проверки специфических ситуаций. Например, чтобы исследовать причину появления ошибок 2-го типа, можно использовать отладчики, проверяющие неинициализированные переменные. Подобные задачи позволяют вам продемонстрировать не только умственные способности, но и стиль вашей работы. Вы постоянно перескакиваете с одного на другое и выдвигаете случайные предположения? Или вы подходите к решению задачи логически? Хотелось бы надеяться на последнее.

Найдите ошибки в следующем коде.

unsigned int i; for (i = ; i >= 0; --i) printf("%d ", i);

В коде есть две ошибки.

Первая заключается в том, что используется тип , который работает только со значениями, большими или равными нулю. Поэтому условие цикла всегда будет истинно, и цикл будет выполняться бесконечно.

Корректный код, выводящий значения всех чисел от до 1, должен использовать условие . Если нам на самом деле нужно вывести нулевое значение, то следует добавить дополнительный оператор после цикла .

unsigned int i; for (i = ; i > 0; --i) printf("%d\n", i); printf("%d\n", i);

Вторая ошибка — вместо следует использовать , поскольку мы выводим целые значения без знака.

unsigned int i; for (i = ; i > 0; --i) printf("%u\n", i);

Теперь этот код правильно выведет список чисел от до 1, в убывающем порядке.

Объясните, что делает этот код.

Вернемся к «истокам».

Что означает

Это означает, что А и B не содержат на одних и тех же позициях единичных битов. Если , то и не имеют общих единиц.

На что похоже (по сравнению с )?

Попытайтесь проделать вычитание вручную (в двоичной или десятично системах).

Что произойдет?

Когда вы отнимаете единицу, посмотрите на младший бит. 1 вы замените на 0. Но если там стоит 0, то вы должны заимствовать из старшего бита. Вы изменяете каждый бит с 0 на 1, пока не дойдете до 1. Затем вы инвертируете единицу в ноль, — все готово.

Таким образом, можно сказать, что будет совпадать с в каких-то битах, за исключением того, что младшим нулям в соответствуют единицы в , а последний единичный бит в n становится нулем в .

Что значит ?

и не содержат общих единиц. Предположим, они имеют вид:

abcde должны быть нулевыми битами, то есть имеет вид . Таким образом, значение — степень двойки.

Итак, наш ответ: логическое выражение истинно, если является степенью двойки или равно нулю.

Дано этажное здание. Если яйцо сбросить с высоты N-го этажа (или с большей высоты), оно разобьется. Если его бросить с любого меньшего этажа, оно не разобьется. У вас есть два яйца. Найдите N за минимальное количество бросков.

Обратите внимание, что независимо от того, с какого этажа мы бросаем яйцо №1, бросая яйцо №2, необходимого использовать линейный поиск (от самого низкого до самого высокого этажа) между этажом «повреждения» и следующим наивысшим этажом, при броске с которого яйцо останется целым. Например, если яйцо №1 остается целым при падении с 5-го по й этаж, но разбивается при броске с го этажа, то яйцо №2 придется (в худшем случае) сбрасывать с го,го,го и го этажей.

Предположим, что мы бросаем яйцо с го этажа, потом с го…

  • Если яйцо №1 разбилось на первом броске (этаж й), то нам в худшем случае приходится проделать не более 10 бросков.

  • Если яйцо №1 разбивается на последнем броске (й этаж), тогда у нас впереди в худшем случае 19 бросков (этажи й, й, …, й, й, затем с го до го).

Это хорошо, но давайте уделим внимание самому плохому случаю. Выполним балансировку нагрузки, чтобы выделить два наиболее вероятных случая.

  1. В хорошо сбалансированной системе значение Drops(Egg1) + Drops(Egg2) будет постоянным, независимо от того, на каком этаже разбилось яйцо №1.

  2. Допустим, что за каждый бросок яйцо №1 «делает» один шаг (этаж), а яйцо №2 перемещается на один шаг меньше.

  3. Нужно каждый раз сокращать на единицу количество бросков, потенциально необходимых яйцу №2. Если яйцо №1 бросается сначала с го, а потом с го этажа, то яйцу №2 понадобится не более 9 бросков. Когда мы бросаем яйцо №1 в очередной раз, то должны снизить количество бросков яйца №2 до 8. Для этого достаточно бросить яйцо №1 с 39 этажа.

  4. Мы знаем, что яйцо №1 должно стартовать с этажа X, затем спуститься на X-1 этажей, затем — на X-2 этажей, пока не будет достигнуто число

  5. Можно вывести формулу, описыващее наше решение: X + (X — 1) + (X — 2) + … + 1 = -> X =

Таким образом, мы сначала попадаем на й этаж, затем на й, затем й. Так что 14 шагов — худший случай.

Как и в других задачах максимизации/минимазиции, ключом к решению является «балансировка худшего случая».

Продолжаем задачки по С/С++. Что означает ключевое слово volatile и в каких ситуация оно может быть применено? Если даже помните формальное значение, попробуйте привести пример ситуации, где volatile на самом деле будет полезно.

Ключевое слово информирует компилятор, что значение переменной может меняться извне. Это может произойти под управлением операционной системы, аппаратных средств или другого потока. Поскольку значение может измениться, компилятор каждый раз загружает его из памяти.

Волатильную целочисленную переменную можно объявить как:

Чтобы объявить указатель на эту переменную, нужно сделать следующее:

Волатильный указатель на неволатильные данные используется редко, но допустим:

Если вы хотите объявить волатильный указатель на волатильную область памяти, необходимо сделать следующее:

Волатильные переменные не оптимизированы, что может пригодиться. Представьте следующую функцию:

int opt = 1; void Fn(void) { start: if (opt == 1) goto start; else break; }

На первый взгляд кажется, программа зациклится. Компилятор может оптимизировать ее следующим образом:

void Fn(void) { start: int opt = 1; if (true) goto start; )

Вот теперь цикл точно станет бесконечным. Однако внешняя операция позволит записать 0 в переменную и прервать цикл.

Предотвратить такую оптимизацию можно с помощью ключевого слова , например объявить, что некий внешний элемент системы изменяет переменную:

volatile int opt = 1; void Fn(void) { start: if (opt == 1) goto start; else break; }

Волатильные переменные используются как глобальные переменные в многопотоковых программах — любой поток может изменить общие переменные. Мы не хотим оптимизировать эти переменные.

У вас есть отсортированная матрица размера MxN. Предложите алгоритм поиска в ней произвольного элемента. Под отсортированной матрицей будем понимать такую матрицу, строки и столбцы которой отсортированы (см. пример).

 задачи с IT-собеседований с разбором решений

Под отсортированной матрицей будем понимать такую матрицу, строки и столбцы которой отсортированы.

Чтобы найти нужный элемент, можно воспользоваться бинарным поиском по каждой строке. Алгоритм потребует O(M log(N)) времени, так как необходимо обработать М столбцов, на каждый из которых тратится O(log(N)) времени. Также можно обойтись и без сложного бинарного поиска. Мы разберем два метода.

Решение 1: обычный поиск

Прежде чем приступать к разработке алгоритма, давайте рассмотрим простой пример:

15204085
20358095
305595
4080

Допустим, мы ищем элемент Как его найти?

Если мы посмотрим на первые элементы строки и столбца, то можем начать искать расположение искомого элемента. Очевидно, что 55 не может находиться в столбце, который начинается со значения больше 55, так как в начале столбца всегда находится минимальный элемент. Также мы знаем, что 55 не может находиться правее, так как значение первого элемента каждого столбца увеличивается слева направо. Поэтому, если мы обнаружили, что первый элемент столбца больше х, нужно двигаться влево.

Аналогичную проверку можно использовать и для строк. Если мы начали со строки, значение первого элемента которой больше х, нужно двигаться вверх.

Аналогичные рассуждения можно использовать и при анализе последних элементов столбцов или строк. Если последний элемент столбца или строки меньше х, то, чтобы найти х, нужно двигаться вниз (для строк) или направо (для столбцов). Это так, поскольку последний элемент всегда будет максимальным.

Давайте используем все эти наблюдения для построения решения:

  • Если первый элемент столбца больше х, то х находится в колонке слева.

  • Если последний элемент столбца меньше х, то х находится в колонке справа.

  • Если первый элемент строки больше х, то х находится в строке, расположенной выше.

  • Если последний элемент строки меньше х, то х находится в строке, расположенной ниже.

Давайте начнем со столбцов.

Мы должны начать с правого столбца и двигаться влево. Это означает, что первым элементом для сравнения будет [0][с-1], где с — количество столбцов. Сравнивая первый элемент столбца с х (в нашем случае 55), легко понять, что х может находиться в столбцах 0,1 или 2. Давайте начнем с [0][2].

Данный элемент может не являться последним элементом строки в полной матрице, но это конец строки в подматрице. А подматрица подчиняется тем же условиям. Элемент [0][2] имеет значение 40, то есть он меньше, чем наш элемент, а значит, мы знаем, что нам нужно двигаться вниз.

Теперь подматрица принимает следующий вид (серые ячейки отброшены):

15204085
20358095
305595
4080

Мы можем раз за разом использовать наши правила поиска. Обратите внимание, что мы используем правила 1 и 4.

Следующий код реализует этот алгоритм:

public static boolean findElement(int[][] matrix, int elem) { int row = 0; int col = matrix[0].length - 1; while (row < goalma.org && col >= 0) { if (matrix[row][col] == elem) { return true; } else if (matrix[row][col] > elem) { col--; } else { row++; } } return false; }

Другой подход к решению задачи — бинарный поиск. Мы получим более сложный код, но построен он будет на тех же правилах.

Решение 2: бинарный поиск

Давайте еще раз обратимся к нашему примеру:

15207085
20358095
305595
4080

Мы хотим повысить эффективность алгоритма. Давайте зададимся вопросом: где может находиться элемент?

Нам сказано, что все строки и столбцы отсортированы. Это означает, что элемент [i][j] больше, чем элементы в строке i, находящиеся между столбцами 0 и j и элементы в строке j между строками 0 и i

Другими словами:

a[i][0] <= a[i][1] <= <= a[i][j-i] <= a[i][j]

a[0][j] <= a[1][j] <= <= a[i-1][j] <= a[i][j]

Посмотрите на матрицу: элемент, который находится в темно-серой ячейке, больше, чем другие выделенные элементы.

15207085
20358095
305595
4080

Элементы в белых ячейках упорядочены. Каждый из них больше как левого элемента, так и элемента, находящегося выше. Таким образом, выделенный элемент больше всех элементов, находящихся в квадрате.

15207085
20358095
305595
4080

Можно сформулировать правило: нижний правый угол любого прямоугольника, выделенного в матрице, будет содержать самый большой элемент.

Аналогично, верхний левый угол всегда будет наименьшим. Цвета в приведенной ниже схеме отражают информацию об упорядочивании элементов (светло-серый < белый < темно-серый):

15207085
20358095
305595
4080

Давайте вернемся к исходной задаче. Допустим, что нам нужно найти элемент Если мы посмотрим на диагональ, то увидим элементы 35 и Какую информацию о местонахождении элемента 85 можно из этого извлечь?

15207085
20358095
305595
4080

85 не может находиться в темно-серой области, так как элемент 95 расположен в верхнем левом углу и является наименьшим элементом в этом квадрате.

85 не может принадлежать светло-серой области, так как элемент 35 находится в нижнем правом углу.

85 должен быть в одной из двух белых областей.

Таким образом, мы делим нашу сетку на четыре квадранта и выполняем поиск в нижнем левом и верхнем правом квадрантах. Их также можно разбить на квадранты и продолжить поиск.

Обратите внимание, что диагональ отсортирована, а значит, мы можем эффективно использовать бинарный поиск.

Приведенный ниже код реализует этот алгоритм:

public Coordinate findElement(int[][] matrix, Coordinate origin, Coordinate dest, int x) { if (!goalma.orgds(matrix)

Этот текст написан в Сообществе, бережно отредактирован и оформлен по стандартам редакции.

Мне 30 лет, живу в маленьком городе.

Не буду говорить, как все, что работы нет. Работа есть всегда. Как-то раз я открыл свое дело по ремонту телефонов и техники. Получалось неплохо: заработок в день иногда составлял 1—2 тысячи, но временами бывал простой по несколько дней. Конечно, на хорошую жизнь этих денег не хватит.

В итоге я бросил это дело и устроился продавцом-консультантом в магазин электронной техники. Зарплата для моего города была вполне приличная — 30 тысяч. Для меня это был первый опыт в сфере продаж. Я поработал в магазине пару месяцев и узнал, что такое продажи и как устроена эта кухня. Но обещанные 30 тысяч не выходили. После четырех месяцев работы я решил уволиться.

Через некоторое время поступило предложение от друга поехать работать к нему на вахту уже за приличные для меня 60 тысяч. Это уже что-то значило для меня. Я все взвесил и решил уехать на три месяца — так сказать, чтобы освободиться от всех проблем и нужд.

Я приехал на вахту с 10 тысячами в кармане. Думал, что не потрачу здесь ни копейки, так как тут кормят, одевают и развозят. В общем, ожидал, что так и пройдет моя вахта в три месяца.

Но на десятый день работы мне на глаза попалось приложение для ставок на спорт.

Я вроде неплохо разбираюсь в спорте, поэтому решил поднять немного денег. Начал с тех же 10 тысяч, но первая же ставка оказалась неудачной — проиграл 4 тысячи. Затем у меня началась белая полоса: я довел свой капитал с 6 тысяч до 70 тысяч. Шел очень хорошо, но не тут-то было. Когда мне пришла первая зарплата, я уже начал играть по-крупному: 20, 30, 40, 50 тысяч. Иногда выигрывал, иногда проигрывал. Бывало, падал до нуля даже с зарплатой, а потом вновь поднимался.

Однажды я вышел в ноль и не проиграл ни копейки. Решил, что пора завязать с этим, но, увы, желание разбогатеть оказалось сильнее меня. И что вы думаете: на данный момент все печально, даже прискорбно. Теперь у меня висит долг в 40 тысяч по кредитке и в  тысяч по потребительскому кредиту.

Сейчас я нахожусь на той же вахте с нулем на балансе. Не знал даже, с кем поделиться этим горем: боюсь осуждения и позора. В голову идут мысли вплоть до крайностей и безумства. Пишу в надежде, что кто-то даст мне ее: я изменился за это время. Ко всему прочему, еще исхудал, выпадают волосы. Боюсь подвести всех. Чувствую себя на дне.


Бросить азартные игры, снова стать собой и вернуть кайф от жизни: 17 шагов преодоления зависимости от лудомана в завязке

В прошлый раз я рассказал свою историю, как проиграл 5 млн в онлайн-казино. Сейчас я не играю 9 месяцев, привёл жизнь в порядок и создал анонимный чат, чтобы помочь другим лудоманам. Расскажу, что помогает мне и ребятам вычеркнуть игру из своей жизни. Для игроков в казино, на ставках или бирже и их близких.

88показов

33Kоткрытий

1репост

Сергей

проиграл 5 млн за два года, завязал в мае

Почему борьба с зависимостью не помогает

В мире очень много лудоманов, которые играют. Учитывая популярность казино и ставок, игроков точно миллионы, а может, десятки миллионов. Есть некий процент людей, которые хотят бросить, но не могут: зависимость сильнее.

Обычно в таких случаях советуют пойти к психотерапевту или пролечиться в реабилитационной клинике. Однако я слышал уже как минимум три истории, когда лечение, даже долговременное, не помогало — человек срывался снова и снова.

На мой взгляд, тут несколько причин.

Человек не делает попытки бросить. Я специально говорю «не делает попытки», а не просто «не хочет». Увы, с этим ничего не поделать. Как сказал знакомый, каждый лудоман должен пробить какое-то своё дно, чтобы осознать и остановиться.

Страдающий зависимостью должен сам захотеть изменить свою жизнь, в противном случае никакие уговоры не помогут. Пока что я не уверен, что такое желание можно вызвать извне.

Игрока заставляли измениться против его желания. Проблема в том, что любая попытка продавить вызывает лишь ответное сопротивление — это нормально, ведь кому понравится, когда на него давят? То, что человек болен, а также ваши благие намерения вовсе не обязывает его подчиняться. Напротив, так можно вызвать очередной срыв.

«Можно же просто не играть!» Люди часто рассуждают так: если ты играешь и это создает тебе проблемы, то ведь достаточно просто не играть — и не будет проблем. А если ты срываешься, то у тебя нет воли. Самое ужасное, что так считают даже некоторые психологи.

Увы, большинство людей имеет очень ограниченное представление о том, что такое зависимость. На самом деле человек не может себя контролировать и потому возвращается к игре. Не потому, что не хочет — потому что не может. Потому что зависимость пустила корни в его психике.

Было недостаточно действий. Когда хочешь результат, нужно делать определенные шаги. Часто бывает так: ты сделал 99 шагов, но не сделал й — и бац! у тебя ничего не получилось. Всё потому, что действия должны быть не только верные — их должно быть достаточно.

Можно ходить к психологу и при этом продолжать общаться с лудоманами. Можно заблокировать свои аккаунты в казино — но продолжать смотреть стримы. Полумеры не приведут к результату.

✅ Чтобы преодолеть зависимость, человек должен сам решить, что пора что-то менять. Дальше от него требуются конкретные действия. Задачи этих действий сводится к четырём вещам:

  • Увеличить контроль над своей жизнью
  • Лучше себя чувствовать морально и физически
  • Убрать триггеры, которые провоцируют на игру
  • Создать препятствия к тому, чтобы поиграть

Как пользоваться инструкцией

Выполнить то, что про вас. Все-все пункты вам не нужны: например, если у вас нет долгов, то пункт «Составить план и раздать долги» вам не нужен. Делайте те шаги, которые имеют отношение к вам.

Выполнить полностью. Многие лудоманы уже примерно знают, какие действия необходимы, чтобы бросить. Например, что нужно отдавать деньги родне и т.п. Почувствовав облегчение, лудоман расслабляется — и в какой-то момент возвращается к игре. Всё потому, что он не выполнил остальные шаги. Важна полнота действий: если пропустите какой-то шаг, то можете сорваться, и тогда выполненные действия будут обесценены.

Выполнить как можно быстрее. Порядок действий важен: неслучайно у каждого из них именно такой номер. Однако ждать не нужно — действуйте сразу во всех направлениях. Отправили заявку на блокировку аккаунтов казино или Цупис? Окей, не ждите ответа и сразу выполняйте следующие пункты. Раньше выполните — раньше завяжете.

Делайте те шаги, которые относятся к вам — но полностью и сразу

Естественно, инструкция поможет лишь тем, кто твёрдо решил бросить. Лудоман, который даже не думает завязывать, скорее всего просто ей не воспользуется. Если у вас такой есть, покажите ему мою историю или предложить ему посчитать свои минуса за всё время игры — это отрезвляет.

1. Разобраться в механизме зависимости и понять: отыграться невозможно

Зависимость существует. Нельзя просто не играть, как думают многие. Лудоман — как и алкоголик или курильщик — не способен себя контролировать. Хотел бы, да не может.

Чтобы преодолеть зависимость, важно разобраться в её причинах и в собственном мышлении.

Наиболее быстрый способ — прочесть «Легкий способ бросить азартные игры» Аллена Карра. Книга короткая, осилите за пару часов. Скачать книгу в PDF

Задача этого шага — убрать из головы вредные идеи

❌❌❌ «У меня получится отыграться, я же умнее!»
Не получится. Эта идея навязана системой, чтобы вы продолжали нести деньги.

Во-первых, в любой азартной игре решает случай, то есть математическое ожидание ниже нуля. Это значит, сколько ни выигрывай, на дистанции ты оставишь в игре больше денег, чем заберёшь. С математикой, как и с реальностью, спорить бесполезно. Но игровые системы будут делать всё, чтобы игрок думал иначе.

Во-вторых, лудоману невозможно себя контролировать. Даже если вы отыграете часть денег, то непременно закинете их обратно, через день или через десять минут. Так уж устроена ваша психика.

«Опять сорвался, вот я мудила!»
Ругать себя за срывы бессмысленно и вредно, так вы только спровоцируете новые срывы. Вы не идиот и не плохой, вы лудоман.

«Столько долгов! Придется поиграть, чтобы их погасить»
Это не сработает. Если в панике искать деньги для погашения займов, вы почти наверняка убедите себя, что надо поиграть, и всё проиграете.

Если осознаете пагубность этих идей, то постепенно поймете — вы не плохой, вы просто болеете. Этот вывод не менее важен.

Пока вы верите в то, что можете отыграться, все остальные шаги бесполезны. Примите как данность — вы уже не вернёте те деньги. Забудьте о них и двигайтесь дальше. В противном случае оставите еще больше, как было со мной.

2. Добиться вечной блокировки аккаунтов

Простую блокировку со временем снимут. Обязательно говорите, что вы лудоман, чтобы аккаунт заблокировали навсегда.

Если вы ставочник, блокируйте Цупис.

Нелегальные казино и букмекеры будут тянуть, предлагать вкусные бонусы, отказывать в блокировке, размораживать аккаунт — короче, делать всё, чтобы удержать игрока, приносящего прибыль. Тут два варианта:

а) Создать дубль-аккаунт, чтобы оба ваших аккаунта заблокировали. Обычно дублирование аккаунта запрещено правилами.

б) Сменить доступы через друга:

  1. Пишете в поддержку, что хотите сменить почту.
  2. Просите друга создать новый емэйл. Он не называет вам его.
  3. Пишете заявку в поддержку, а друг дописывает емэйл, отправляет, а отправленное письмо удаляет.
  4. Вам звонят, подтверждают личность, меняют емэйл. Все акции шлют на новый, пишут тоже только туда.

Знакомые подсказали еще один способ — использовать временный емэйл, который существует всего 10 минут. В этом случае можно попробовать самостоятельно передать доступ на него — но не факт, что поддержка успеет принять вашу заявку, пока ящик еще жив.

В результате вы просто не сможете залогиниться. Я так сделал с одним из казино, самым хитровыдуманным из всех — прокатило.

Естественно, если лудоман захочет поиграть, он найдёт способ. Именно поэтому важно создать себе препятствия, чтобы вы могли передумать играть, пока вы их преодолеваете. В новом казино/букмекере придется регистрироваться, проходить верификацию, отправлять сканы паспорта и карты. Это долго — и хорошо: пока вы этим занимаетесь, то можете взяться за ум и отказаться от игры.

3. Наладить сон и высыпаться

Чуть ли не главная рекомендация. Дело в том, что от качества сна сильно зависит состояние человека и ясность его ума. Чем оно хуже, чем сильнее тянет на игру. Но если чувствуешь себя хорошо, то играть не хочется.

У меня большинство срывов было как раз тогда, когда я не высыпался.

  • Ложитесь и вставайте в одно время. Засыпать лучше до Вначале будет трудно, но через несколько дней сможете вставать легко.
  • Спите в полной темноте. Шторы наглухо, источники света выключить.
  • Спите в прохладе или проветривая комнату перед сном.
  • Спите столько, сколько вам достаточно. Обычно это не менее 8 часов. Если есть физическая нагрузка, то может хватить и 7 часов.
  • За пару часов до сна не пользуйтесь гаджетами, а перед самым сном примите полулежачее положение. Можно читать бумажную книгу. Так вы настроите мозг и тело на отдых, и через некоторое время оно само захочет спать.

Хороший сон — залог ясного ума

4. Наладить питание

Как и сон, питание сильно влияет на работу организма. Если в рационе не хватает важных макро- и микроэлементов, человек чувствует себя хуже. Кроме того, от питания зависит уровень энергии в организме. Для переваривания одних продуктов нужны колоссальные энергозатраты, другие перевариваются проще.

Смысл тот же: чувствовать себя лучше, чтобы не хотелось играть.

  • Меньше фастфуда и сладкого, больше натурального мяса, овощей и каш.
  • Принимать пищу в одно и то же время. Человек — существо ритмичное, его организм работает лучше, если войти в ритм, особенно в питании.
  • Не есть за 2—3 часа до сна, чтобы не снижать его качество.

5. Порвать с игроками, которые продолжают играть и рассказывают об этом

Многие люди стали игроками с подачи своих знакомых, которые рассказывали о том, как они классно выигрывают, покупают машины и вообще шикарно живут.

Как бы вы ни дорожили этим знакомством, важно понимать одну вещи: лудоман, который продолжает играть, рано или поздно опустится на дно сам и утянет и вас тоже.

Как можно тактично сказать об этом:

— Привет. Я хочу завязать и наладить жизнь. Увы, общение с тобой этому мешает, поэтому его придется прервать. Но если ты тоже бросишь, буду рад возобновить наши отношения.

Обратите внимание, необязательно расставаться с человеком насовсем. Рано или поздно он может сам прийти к выводу, что пора завязывать. И вот тогда можно снова общаться.

6. Убрать из жизни всё, что провоцирует поиграть

Игровые (прямые) провокаторы. Эти занятия кажутся безобидными, но они непосредственно связаны с игрой, и если продолжить это делать, рано или поздно придет мысль «Почему бы не поиграть?»

  • Не смотрите стримы. Отпишитесь от стримеров, а видео в рекомендациях помечайте «Не интересует».

  • Не играйте в демо-игры. После них всегда хочется поиграть на реальные деньги.

  • Не смотрите спорт. Увы, просмотр матчей может спровоцировать желание поставить. Некоторые лудоманы-ставочники говорят, что когда смотрят другой спорт, желания поставить это не вызывает.

  • Не читайте goalma.orgи, если вы биржевой игрок. Причины те же.

    Отпишитесь от рассылок букмекеров и казино. Если реклама приходит в СМС, пометьте сообщения как спам и заблокируйте.
  • Удалите приложения, которые напоминают про игру. Например, ставочники часто смотрят расписание игр в Flashscore.

Бороться с игрой означает уделять ей внимание. Многие вещи в принципе существуют лишь потому, что о них думают. Бороться с игрой бессмысленно, нужно просто вычеркнуть её из жизни. Насовсем.

Стрессовые (косвенные) провокаторы. Если обычный человек стрессует, он может пойти по магазинам, купить себе новый гаджет или напьётся в баре. Лудоман из-за стресса может сорваться, и так начнётся новый «цикл поражения в жизни».

Постарайтесь сделать так, чтобы в вашей жизни было как можно меньше стресса. Вот что вы можете сделать прямо сейчас:

  • Разберитесь с долгами. Подробности об этом — в следующих пунктах инструкции.
  • Ограничьте общение с людьми, из-за которых портится настроение. В моей жизни таким человеком является отец. Он мог позвонить спьяну и наговорить гадостей. Первое время я слушал, потом перестал. Сейчас мы не общаемся совсем, причем по его инициативе.
  • Не смотрите новости. В СМИ часто пишут про убийства, изнасилования, теракты, а также скачки валют и прочие неприятные события. У многих людей это вызывает дикий стресс, им становится страшно. На самом деле происходящее в мире обычно никак не влияет на вашу жизнь. И если вы уберете новости из жизни, она изменится только к лучшему. Не забивайте себе голову лишней информацией, вы же не бессмертны.

7. Вступить в чат игроков, которые хотят бросить

В основном окружающие не понимают лудоманов. Им кажется, что те просто не хотят останавливаться. Общение с другими лудоманами поможет хотя бы потому, что вас поймут. Да и вместе проще завязать.

В моём чате для лудоманов можно высказаться, не боясь осуждения, получить моральную поддержку. Еще там довольно строгая модерация — мне важно, чтобы участники не осуждали друг друга, не переходили на личности и не провоцировали на игру. Рекламы и спама тоже нет.

Также в чате полно полезных заметок — от меня и других участников. В том числе эта инструкция.

8. Снимать желание поиграть

Вероятно, самый сложный шаг. Тут действует вот какой механизм. Когда мысль только-только промелькнула, она еще не набрала силу и с нее относительно легко переключиться на что-то другое. Но если вы сидите и продолжаете крутить её в голове, переключиться будет намного сложнее.

Этот пункт состоит из двух обязательных шагов:

1. Сравнить жизнь с игрой и без. Когда ты постоянно играешь, у тебя куча проблем, и жизнь становится ужасной. Ты не замечаешь, какой чудесный мир вокруг тебя. Если не играть, она постепенно налаживается. И если мысленно сравнить эти периоды, то вы наверняка сделаете вывод — без игры намного лучше.

Скажу больше. Как-то у меня на счету была приличная сумма, которую я выиграл и даже смог вывести. Но я постоянно думал о том, как бы поиграть, чтобы удвоиться! В конце концов я не выдержал и всё проиграл, но главное даже не в этом. Главное, что эти деньги не стоили тех беспокойств, которые я испытывал.

Возьмите за привычку сравнивать до и после — и вам будет легче отказаться от игры.

2. Переключаться. Когда вы сделали первый шаг, сразу переключайте ум на что-то другое. Полезное, развлекательное — не важно. Главное не тянуть и не полагаться на силу воли.

Почитайте чат игроков. Многие участники пишут, что им это помогает.

Посмотрите порно или сериал.

Займитесь сексом с подругой (уж простите, что часто это рекомендую).

Пробуйте разное и применяйте то, что помогает.

9. Доверить деньги другу, а после — держать в наличных

Это важно сделать в период ломки или когда вы недавно играли. Например, можно передать жене. Выберите себе доверенное лицо, которое будет распоряжаться деньгами, пока вы находитесь во власти игры — не менее месяца.

  • Выдавать вам деньги только на жизнь.
  • Платить по займам. Скидываете номер карты и сумму платежа, передаете доступы к кабинетам в МФО/банков/коллекторских организацией.
  • В идеале — получать деньги вместо вас.

Если это ваш друг/знакомый, можете заплатить ему несколько тысяч за хлопоты — для справедливости.

Это временная мера, и когда вы поймёте, что на игру больше не тянет, возвращайте деньги себе.

Когда вас уже не ломает так сильно, но вы всё равно подумываете об игре — держите деньги в наличке. Это еще одно самоограничение: зная, что вы не сможете закинуть их в онлайн-, вы будете спать спокойнее.

Посчитать долги, составить план и возвращать

План и его применение — это контроль жизни. Чем лучше человек контролирует свою жизнь, тем он более счастлив. Когда вы рассчитаетесь с долгами, наступит облегчение.

Несколько важных идей про долги

Тревожность из-за долгов приводит к срывам. Должники часто переживают из-за угроз коллекторов, а еще давят родные и знакомые, которым тоже звонят. Из-за этого лудоман начинает беспокоиться и судорожно искать деньги. Это ловушка: чем больше тревожности — особенно по поводу денег, — тем выше шанс, что вы сорвётесь.

У меня было так несколько раз. После трёхмесячной завязки я поиграл в надежде закрыть долг, но в итоге всё проиграл, а еще отношения с девушкой дали трещину.

Важно, чтобы вы не тревожились. Для этого можно просто не общаться со службами взыскания и коллекторам и дождаться блокировки счетов, а потом уже гасить долг.

Коллекторы нарочно давят на психику — но не приезжают. Поначалу я переживал из-за коллекторов и их угроз. Много раз получал СМС в духе «По вашему адресу запланирован выезд…». Однако никто так и не приехал. Тогда я понял, что они специально вгоняют человека в тревожное состояние, чтобы выбить долг.

Вообще, с МФО, банками и даже коллекторами можно договориться. Если не хотите, чтобы звонили вашему окружению, просто будьте на связи сами.

Также кредитные организации часто сами идут на уступки. Если долг просрочен на несколько месяцев, некоторые соглашаются даже на возврат только тех денег, которые вы занимали — тела кредита.

Долги организациям проще отдавать после блокировки счетов. Когда организация не может взыскать деньги, то где-то через полгода-год обращается к коллекторам. Если и они не могут получить деньги, то еще примерно через год подают в суд. Дальше долг уходит приставам, и они блокируют ваши счета. Все это занимает полгода и больше. Некоторые мои долги висели по году-два, прежде чем приставы заблокировали счета.

То есть, вы можете вообще не отвечать на звонки коллекторов и служб взыскания, а рассчитываться уже после судов.

Все мои долги организациям, кроме одного, уже у приставов. Счета заблокированы на тысяч, я постепенно рассчитываюсь.

С людьми всегда можно договориться. Должники часто не выходят на связь с теми, кому должны. Это не выход: во-первых, так страдает ваша репутация, во-вторых, вам самому тяжело постоянно об этом думать.

Объясните человеку, что вы игрок и что происходит на самом деле. С высокой вероятностью он вас поймёт и спросит, как именно вы будете возвращать долг. Составьте план с комфортными для вас платежами и возвращайте. Главное — показать, что вы готовы выполнить обязательства. Пусть и не сразу.

Как составить план с графиком платежей. Я сделал шаблон гугл-таблицы, где можно свести воедино все долги, рассчитать срок на основе ежемесячных платежей и контролировать возврат. Скопируйте к себе (Файл → Создать копию) и заполните по видеоинструкции:

Как договориться с людьми. Вам нужно просто сказать как есть, и предложить условия, которые вы потянете.

У меня есть пара долгов по тысяч, а плачу я 5 тысяч в месяц. Хотелось бы рассчитаться сразу, но я был вынужден действовать исходя из реальности, а не своих желаний. Предложил им следующее:

— Привет, я брал у тебя в долг, потому что азартный игрок. Хочу рассчитаться, готов платить 5К в двадцатых числах каждый месяц. Хотел бы погасить раньше, да не могу. Скажи номер карты, пожалуйста.

Люди поворчали-поворчали, да и согласились.

Когда стабильно платишь, люди не беспокоятся и не подают на тебя в суд. Многим это даже в голову не приходит, особенно если сумма небольшая.

Не набирать новые долги

Лудоман привыкает жить в долг. И когда нужны деньги, он в первую очередь ищет, где занять, а не как заработать.

Новые займы не решат вашу проблему, а лишь увеличат долг.

Чтобы обезопасить себя от новых займов, достаточно сделать две вещи:

  1. Попросить всех, у кого вы брали взаймы, больше не давать вам денег. Не бойтесь говорить правду — вы удивитесь, как много людей поймёт и не осудит.
  2. Не брать новые кредиты, чтобы погасить старые. Во-первых, это почти всегда финансово невыгодно. Во-вторых, вы наверняка проиграете кредитные деньги.

Брать ли новые кредиты, чтобы перекрыть старые

Часто хочется взять еще один кредит, чтобы закрыть старые. Увы, обычно это не работает: лудоман срывается и проигрывает взятые в банке деньги.

Взять кредит, чтобы рассчитаться с долгами, можно, но при двух условиях:

— Кредит действительно перекроет проценты по предыдущим долгам— Кредитными деньгами распоряжается не сам лудоман, а его доверенное лицо

Если чего-то из этого нет, то кредит бесполезен.

Признаться близким и попросить поддержки

Лудоманы скрывают свою зависимость и реальное финансовое положение, даже от супруга. Игроку приходится постоянно врать, чтобы неприятная правда не всплыла. Это создает огромную нагрузку на психику: нужно запоминать, что и кому ты говорил, умалчивать о своих действиях и тратах.

Также есть лудоманы, которых уже прощали, и они беспокоятся, что в следующий раз им шанса не дадут.

Ситуации у всех разные, поэтому признаваться или нет — решать только вам. Только сам человек знает, что для него лучше. Но обычно я рекомендую признаться. Когда расскажете, ложь закончится, и вам станет легче. И не нужно бояться, что вас бросят — скорее всего, любимый человек отнесется к этому лучше, чем вы думаете. Хотя бы потому, что узнает это от вас, а не по стечению обстоятельств.

Как поговорить с любимым человеком. Если вы еще не рассказали девушке, объясните ситуацию. Только не в формате «Извини, я лошара», а с объяснением, почему и что вы намерены делать дальше:

— Милая, хочу тебе признаться — я азартный игрок, давно проигрываю деньги.

… (выждать паузу и послушать ответ)

Вряд ли ты понимаешь что такое зависимость, но я постараюсь объяснить. У меня куча проблем, я больше не ощущаю радости, постоянно живу в тревоге и стрессе, плохо сплю. Сильно давят долги, это вообще круглосуточный стресс. Я не пытаюсь оправдать свои поступки, просто хочу чтобы ты поняла, почему я их совершал.

… (снова послушать)

Я не собираюсь оставлять это как есть. Делаю всё, чтобы это прекратилось. Не знаю, простишь ты меня или нет. но хочу чтобы ты знала: я не собираюсь больше играть. Я заблокировал себя во всех казино навсегда без возможности восстановления. Добавился в чат лудоманов — они меня понимают, мне с ними легче, и играть не хочется. Если пойму, что совсем плох, пойду к психологу.

Чтобы выплатить долги, буду делать вот такие шаги. Знаю, что ты от этого не в восторге, но хочу быть достойным тебя и стать лучше с твоей помощью.

Важно не просто признаться, а показать, что вы делаете что-то, чтобы исправить ситуацию и завязать навсегда. Человек, делающий попытки, не безнадёжен. И это повышает его шансы остаться в отношениях.

Если вас уже прощали, ничего страшного. Главное, чтобы вы общались об этом, потому что чем дольше умалчиваете, тем тяжелее вам будет.

— Я понимаю, что ты уже прощала меня. И понимаю, что уже обещал не играть. Но зависимость оказалась сильнее. И в этот раз я буду действовать по-другому.

В чате несколько участников рассказывали, что их прощали и на второй, и на третий раз. И вообще, разве есть какое-то количество шансов, которое дают любимому человеку?

С родителями или другими близкими людьми нужно говорить примерно также. Главное — это показать, что вы не намерены оставлять всё как есть и уже делаете шаги, необходимые для преодоления зависимости.

Перестать употреблять алкоголь

Спиртное снижает ясность ума. Человеку начинает казаться, что он всё может — и это провоцирует на игру. В моем чате и еще одном комьюнити лудоманов постоянно пишут про такие случаи. Если пьёте регулярно, придется отказаться насовсем.

Я не пью и никогда не пил, поэтому не могу дать конкретных рекомендаций. Этот шаг придется выполнить самостоятельно.

Найти занятия по душе и приносящие кайф

Многие играют ради удовольствия. Есть множество других источников удовольствия, более безопасного и длительного. Обычно это просто удовлетворение своего интереса в чём-либо. Займите себя так, чтобы вам не хотелось играть и вообще не было на это времени.

Давно хотели научиться играть на клавишных? Купите синтезатор и занимайтесь.

Хотите разобраться в инвестировании? Смотрите Ютуб, проходите курсы.

Любите работать? Работайте больше.

В мире очень много всего. Когда прекратите играть, сами будете удивляться, как вы этого не замечали.

Тратить деньги на себя

Из-за долгов, особенно крупных, лудоман вынужден экономить на себе. Жить в не очень хороших условиях, покупать дешевые продукты, экономить на одежде.

На самом деле это ловушка. Может показаться бредом, но объясню на собственном примере.

Почему важно не забивать на себя в угоду долгам

Я больше полугода жил у бабушки, чтобы не платить за аренду квартиры, покупал дешевые продукты и не покупал новую одежду. Вообще старался на всём экономить. Долгов на тот момент было ≈ 1,8 млн, хотелось рассчитаться побыстрее. Но я рассчитывался очень медленно, и вот почему.

Если относить займодавцам всю зарплату, не оставляя ничего на себя, то ваша жизнь как была серой из-за лудомании, так и останется. Подумайте, как всё организовать, чтобы хорошо было в первую очередь вам.

Когда я это понял, то переехал на съёмную квартиру, начал покупать более вкусные и дорогие продукты, а через несколько месяцев заказал услуги стилиста и накупил новых вещей. Вылечил и отбелил зубы, как давно хотел.

Жизнь стала лучше, дела пошли в гору, и рассчитываться я начал быстрее.

Когда тебе комфортно и приятно жить, ты будешь делать всё, чтобы это продолжалось. Так появляется мотивация зарабатывать больше.

Когда совершаешь покупки для себя, жить намного приятнее.

Платите столько, сколько можете себе позволить с учётом своих потребностей. Покупайте себе новые (и нужные) вещи и живите в комфортных условиях, чтобы чувствовать себя лучше, больше зарабатывать и платить стабильнее. Тратьте деньги на развлечения и увлечения.

Так вы снова почувствуете вкус жизни, а долги выплатите быстрее.

Сходить к психотерапевту

Необязательно искать специалиста именно по зависимостям: их не так много. Плюс важно работать не столько с зависимостью, сколько с её последствиями — чувством вины, ненавистью к себе и т.п., чтобы жить дальше. С этим справится любой хорошей спец.

Выбрать психотерапевта просто — достаточно проконсультироваться один раз и прислушаться к себе. Если вы увидели, что человек понимает вас, и после беседы почувствовали себя лучше — стоит продолжить. Если же психотерапевт неодобрительно отзывался о ваших действиях и советовал просто не играть — он вам не поможет.

Я не спроста описываю этот шаг одним из последних. Близкие люди могут настойчиво отправлять вас к психотерапевту с самого начала. Но если лудоман не готов на этот шаг, бесполезно его уговаривать и давить. Ведь даже если он согласится, от терапии не будет толку — потому что нет внутреннего согласия с ней.

Перестать себя ненавидеть

Один из самых сложно выполнимых пунктов, особенно если вы недавно играли и еще находитесь во власти игры.

Проблема в том, что ненависть к себе мешает вам бросить игру. Многие лудоманы считают, что падать дальше уже некуда, хуже не будет — почему бы не поиграть, чисто расслабиться? Увы, жизнь умеет преподносить сюрпризы. И хуже быть — может. Еще как.

Но прежде чем перейдём к делу, скажу важную мысль.

Человек — это не только его проступки

Человека делают все поступки. Не только плохие, но и хорошие. Не нужно думать, что ваши ошибки перечеркивают все хорошее, что в вас есть, это нет так.

Во-вторых, невозможно быть идеальным и всегда поступать правильно. В идеальном мире люди, наверное, всегда поступают правильно. Но в реальном нельзя прожить жизнь безошибочно. В конце концов, мы живём впервые. Вопрос не в том, что плохого вы сделали. Вопрос в том, что вы будете делать дальше.

Иногда нужно просто взять на себя ответственность и сказать себе: «Да, всё это — моих рук дело, но я усвоил урок». Затем по возможности компенсировать вред, а потом просто жить дальше.

Когда я лудоманил, то совершил много глупостей и не горжусь этим. Однако до ненависти к себе не доходило. Я знаю себе цену, знаю, что я за человек, и любые домыслы по этому поводу не оказывают на меня влияния. Но если у вас не так, вероятно, вам может помочь вот такая методика

Как снова себя полюбить: задание. В предыдущем шаге вы работаете с психотерапевтом, и это уже можно крепко помочь. Но в жизни решают действия самого человека, поэтому вам нужно сделать кое-что еще.

Вспомните и напишите на бумаге всё, чем вы гордитесь.

  • Черты личности. Например, вы тактичный человек или вы всегда ухаживаете за собой, чтобы хорошо выглядеть, даже если вышли в магазин
  • Поступки. Не обязательно это будет подвиг вроде спасения человека. Может, однажды вы просто поговорили с кем-то, кому было плохо, или решили большую сложную задачу, за которую вначале не хотели браться
  • Достижения. Может, у вас есть красный диплом учебного заведения или вы отжимаетесь 50 раз, или получали какие-то награды. Перестать играть на деньги — тоже достижение.

Просто спросите себя: горжусь ли я этим? Если да — пишите.

2. Я способен держать слово.

3. Могу отключить эмоции, когда это нужно, и не расстроиться.

4. Умею хорошо зарабатывать.

5. Никогда не изменял в отношениях.

Однажды я спас ребенка от взбесившейся собаки.

Отговорил знакомого от игры в онлайн-казино.

Закончил школу с медалью.

Был сотрудником месяца.

Посидите в тишине 10—20 минут и напишите всё что приходит в голову.

❌ Писать в электронном виде.
✅ Пишите на бумаге: мозгу так легче запоминать и дальше работать с этой информацией.

❌ Думать только о конкретном периоде жизни, в том числе тот, в который вы играли.
✅ Вам нужно охватить всю свою жизнь, а не только период лудомании.

❌ Ругать себя за мысли. Мол, если вы когда-то хотели изменить жене, то это плохо.
✅ В мире имеют вес только поступки. Нет поступка — нет повода себя не любить. Поэтому пишем только поступки.

Написали? Напишите еще. Ваша задача выписать как можно больше, и за один раз это сделать не получится. Погуляйте, поспите — и напишите снова. А потом еще, а потом опять.

Напишите хотя бы 50 пунктов, а лучше и больше.

Не выбрасывайте записи. Продолжайте вспоминать и писать. Время от времени заглядывайте туда и напоминайте себе, что вам есть чем гордиться и за что уважать себя.

Понаблюдайте за тем, как изменится ваше состояние в течение недели-двух. Будет круто, если напишете о результатах в наш анонимный чат.

👉 Чек-лист для учета выполненных пунктов

Я составил список пунктов инструкции, чтобы вы могли проверять, что сделано и что осталось сделать. Скопируйте к себе гугл-таблицу с чек-листом (Файл → Создать копию) и отмечайте пункты по мере выполнения.

Инструкция будет обновляться. Добавьте статью в закладки, чтобы следить за изменениями.

Вопрос к лудоманам, которые смогли бросить, а также психологам и психотерапевтам. Товарищи, что я мог упустить? Чем еще дополнить инструкцию?

Горячая линия
Профилактическая работа
Кто рядом с вами, или Как распознать алкоголизм
   Человек не может уснуть здоровым и проснуться алкоголиком, алкоголизм — не простуда. Он подкрадывается постепенно, и будет ли ваш мужчина алкоголиком, можно распознать уже на стадии знакомства. Посмотрите, как часто он выпивает и какая реакция у него после этого наступает. Даже если не наблюдается похмелья, это еще ни о чем не говорит — на первой стадии алкоголизма больной наутро после вечернего застолья чувствует себя вполне удовлетворительно и опохмеляться ему не нужно. Жесткой границы между «уже» алкоголиком и «еще не» алкоголиком не существует. Однако существует один верный признак, по которому можно определить, что организм человека уже привык к излишним дозам алкоголя и не отвергает их.
   
   Это рвотный рефлекс. Если юношу после бурной вечеринки тошнит, значит он здоров. Его организм естественным образом реагирует на отравление алкоголем. Его более «закаленные» друзья, которые «умеют пить», не испытывая при этом чувства тошноты, скорее всего, уже больны. Их организм принимает излишки яда как нечто привычное, должное, и они уже находятся на подходе к первой стадии алкоголизма.
   
   На первой стадии человек, что называется, «любит выпить» — на вечеринке, в гостях или на природе. Ему нравится не только вкус спиртного, но и сам процесс его употребления, от которого он получает психологическое удовлетворение — расслабляется, перестает испытывать трудности в общении. Однако после этого ведет себя неадекватно — может внезапно повести себя смешно или агрессивно. Часто на этой стадии выпивают рюмочку вечером, чтобы заснуть. Опохмеляться пока не нужно, но иногда появляются пробелы в памяти: «Что же это я вчера натворил?» И, естественно, чувство вины, плохое настроение и раздражительность по утрам.
   
   На второй стадии провалы в памяти случаются все чаще. Хочется опохмелиться — пусть это даже будет бутылка пива. Именно на этой стадии становятся запойными алкоголиками. Они могут не пить в течение нескольких месяцев или даже года, но потом «срываются» на несколько дней, неделю, иногда больше. Это так называемый «истинный запой», когда в перерывах — какими бы длительными они ни были — человек не пьет. Если он употребляет спиртное в небольших количествах более или менее периодически, то он уже ближе к хроническим больным, которые пьют регулярно — по пятницам, например.
   
   Третья стадия — это уже полная деградация личности. Абсолютная физическая и психологическая зависимость, тяжелейшее похмелье. Проблемы на работе, импотенция. Цирроз печени, смерть.
   
   Как этого избежать? Совет только один. Известный российский кардиолог Е. И. Чазов полагает, что в лечебных целях человек после 18 лет может употреблять ежедневно 44 г алкоголя. Это не нанесет вреда здоровью и не будет способствовать развитию хронического алкоголизма. Дозы, превышающие этот предел, если говорить о ежедневном приеме горячительных напитков, пагубны для человека.
   
   Московский нарколог Г. М. Эйтин в одной из своих статей писал, что в возрасте от 14 до 18 лет человек может употреблять 0,5 л некрепкого вина в год. А после того, как достигнет совершеннолетия, может позволить себе увеличить дозу употребляемого спиртного до 1 л водки в год. Все показатели, превышающие указанные границы, неизбежно приведут к развитию алкоголизма.
   
   
   
   Почему вы с ним живете?
   
   Многие психоаналитики, исследовавшие поведение алкоголиков, с удивлением отмечали, что зачастую человек пьет не ради удовольствия от опьянения, а ради муки похмелья.
   
   То есть практически любой алкоголик — потенциальный мазохист. Психоаналитик Николай Нарицын отмечает, что очень часто в алкоголиков превращаются мужья«подкаблучники» — опьянев, они становятся агрессивными, смелыми, могут повысить на жену голос, даже избить ее, а в момент похмелья чувствует такую вину, что готовы, стоя на коленях, выпрашивать у нее прощение за содеянное. А жена порой чувствует себя не так уж плохо в эти моменты.
   
   Аналитик Эрик Берн считает, что алкоголизм — не более чем игра, в которой основным партнером алкоголика выступает его жена, которая вечером работает «спасателем» — выводит из ресторана, достает из канавы, а утром — «преследователем», который отчитывает за пьянство. Возможен и второй вариант: ночью — пьяная драка с агрессивным мужем («Сколько можно пить!»); утром же ненавидящая пьянство жена «лечит» мужа от похмелья.
   
   В любом случае налицо сильнейшее желание мужа снять с себя ответственность, выступить в роли маленького ребенка, только с бутылкой спиртного вместо соски. А вы наказываете его и заботитесь о своем «большом младенце», тем самым поощряя его пристрастие к алкоголю.
   
   
   
   Как с ним жить
   
   Если вы любите этого мужчину и не можете его бросить, то перечитайте книгу Венедикта Ерофеева «Москва — Петушки». Это поможет посмотреть на вашу жизнь с некоторой долей юмора. Иначе вам суждены только бесконечные скандалы и стрессы. Главное правило жизни с алкоголиком: меньше заботьтесь о нем и больше — о себе. Не нянчитесь с ним! От этого он станет пить еще больше.
   
   Ни в коем случае не набрасывайтесь на мужчину с упреками, если он приходит домой пьяный. В подобной ситуации разумным будет проведение некоторых простых антипохмельных мер.
   
   Они таковы.
   
    • Похмелье возможно предупредить или облегчить «грамотной» закуской. Дэвид Аутербридж, автор «Настольной книги похмелья», в России вышедшей под назвавшем «От алкогольного тумана до ясной головы», настоятельно рекомендует закусывать рыбой и картошкой. Картошка — мощный адсорбент* А в рыбе содержится много фосфора и калия — похмелье усугубляется именно в результате того, что эти вещества выводятся из организма. Недостаток калия вызывает сердечную аритмию, и тогда человек думает, что сейчас умрет от похмелья.
   
    • Похмельный синдром происходит также от недостатка в организме витамина С, который выводится вместе с алкоголем. Поэтому перед сном полезно принять 2—3 г аскорбиновой кислоты или любого мультивитаминного препарата. Витамины группы В способствуют снятию утренней похмельной депрессии, а РР — стимулирует работу печени. Борщ, щи и квашеная капуста также эффективно помогают в подобной ситуации, а после запойная диета обязательно должна включать в себя крепкий бульон. Еще одно прекрасное средство — фрукты. Минеральная вода, которую утром больной будет пить в больших количествах, должна содержать много калия. А если сердце у него здоровое, уже утром можно посетить сауну (ни в коем случае не влажную турецкую или русскую баню). Часть токсинов выведется с потом, а часть переработается печенью, так как в сауне обмен веществ резко активизируется.
   
   Быстро привести утром вашего супруга в чувство поможет следующий рецепт: 3 столовые ложки меда развести в стакане теплой воды. Выпить залпом. После этого принять контрастный душ.
   
   Не проявляйте чрезмерную заботу о супруге. Не читайте нотаций и уж тем более не бегайте за пивом, как бы он ни увещевал вас, что ему плохо и он сейчас умрет.
   
   Лучший способ предотвратить развитие алкоголизма — найти интересное занятие для вашего любимого мужчины. Сходите с ним в кино, на футбол. Займитесь сексом. Продемонстрируйте ему, что любое внимание с вашей стороны — как позитивное, так и негативное — он получает только будучи в трезвом виде. Когда он пьян, будьте абсолютно индифферентны.
   
   Если у супруга очень ответственная работа, продемонстрируйте, что дома вы — господа. Это поможет ему снять тяжкий груз ответственности. В противном случае, чтобы о нем забыть, мужчина может начать активно пить. Если, наоборот, у него ничего не поручается на работе, он ощущает себя неудачником, ему абсолютно необходимо хотя бы где-то почувствовать себя важным и сильным — если вы его действительно любите, то пусть он будет чувствовать себя таким в семье.
   
   
   
   Если супруг все-таки запил
   
   Его поведение. Чаще всего мужчины начинают пить по какому-либо поводу — например, уход любимой женщины или потеря работы. Возможен также запой «от радости» (например, рождение ребенка). Иногда запой бывает вообще беспричинным — просто непьющий вроде бы человек решил себе «позволить», дальше — желание опохмелиться, плавно перешедшее в новое опьянение, и так далее Во время запоя человек пьет помногу, каждый день, практически не трезвея. На третьей и ярко выраженной второй стадии алкоголизма запой может закончиться галлюцинациями — в просторечии — белой горячкой. Чаще всего алкоголики настолько пугаются видений, что запой у них прекращается. Но белая горячка — не самое надежное средство от запоя. Сердце может не выдержать такой нагрузки.
   
   Ваше поведение. Запой — сильнейшая эмоциональная встряска, и прекратить его можно по принципу «клин клином вышибают, то есть устранив причину. Классический пример — поведение Гоши в фильме «Москва слезам не верит». Появление любимой женщины отбило у него желание продолжать беспробудно пить.
   
   Кстати, тот же Гоша вышел из запоя отнюдь не на первый день — и нет смысла пытаться излечить своего любимого мужчину в первый же вечер.
   
   Если ваш супруг запил и вы не можете устранить психологическую причину, приведшую его к этому, периодически давайте ему активированный уголь — так вы поможете ему избежать кошмаров. Если запой тяжелый и длительный, вызывайте врача — организму алкоголика нужно очищение, иначе последствия для здоровья непредсказуемы. Самый распространенный на сегодняшний день способ — капельница. Есть еще приборы, которые прогоняют кровь через специальный фильтр, очищая ее от ядов, но это гораздо более дорогая процедура.
   
   Как его лечить
   
   Главное, что нужно запомнить супруге мужа-алкоголика — лечить его бессмысленно, пока он сам этого не захочет. Все поиски новых методов лечения, звонки в клинику и визиты к врачу часто нужны женщине не для того, чтобы реально вылечить своего мужа, а для того, чтобы почувствовать себя в роли «спасительницы».
   
   Когда жена говорит мужу: «Ты алкоголик»,— это воспринимается не как диагноз, а как оскорбление. Естественная мужская реакция: «Я не алкоголик, я могу бросить. Я пью, потому что мне нравится, а перестанет нравиться — возьму и брошу». Если вас на самом деле не устраивает его пьянство, не стоит называть супруга алкоголиком и водить по клиникам под этим предлогом. Скажите ему лучше, что у него депрессия, психологическое расстройство, вызванное стрессом на работе, и он нуждается в консультации врача. Порекомендуйте телефон психолога, работающего с алкоголиками (скажите, что это врач, не упоминая про наркологическую специализацию).
   
   Подтолкнуть больного алкоголизмом к решению бросить пить можно по методу Табиты Кинг — когда ей надоело бесконечное пьянство и увлечение наркотиками ее мужа, писателя Стивена Кинга, она заявила: «Или я, или виски». Для Кинга его семья значила и значит очень много — он счастливо женат уже более 30 лет. После угрозы развода он полностью прекратил употребление алкоголя и наркотиков. Метод Табиты — крайний, можно сказать, экстремальный, и если вы не уверены, что очень дороги своему мужу, то лучше таких заявлений не делать.
   
   Кроме того, на стадии исправления этой сложной ситуации супруге необходимо проявлять достаточную жесткость в общении с мужем. Например, если он, находясь в хмельном угаре, позволил себе учинить скандал или применил физическую силу, жене следует вызвать милицию. В этом случае его поведение станет намного спокойнее, он поймет, что с ним не шутят. Правда, через определенное время все может повториться
   
   Более подробно читайте об этом в главе «Насилие в семье: что делать?» Здесь же скажем лишь о том, что поведение жены алкоголика, которая использует предложенную методику, должно быть объективным, строгим и спокойным — без слез, истерик и обид. Это потребует времени, так что запаситесь терпением.
   
   Большинство врачей считают, что излечиться от алкоголизма можно, только полностью бросив пить. В организации «Анонимные алкоголики» алкоголиками называют себя даже те, кто не пьет уже 5, 10, 15 лет. Один из основателей этой организации сравнивал жизнь алкоголика с видеофильмом: алкоголик сидит перед телевизором и смотрит, как в комнате на экране разгорается пожар. Этот пожар — его болезнь. Можно нажать на кнопку «стоп» — бросить пить, и тогда кино остановится, пожар прекратит распространяться по комнате. Но угрожающая картинка застынет на экране навсегда. Можно выключить телевизор — уйти из жизни, но тогда все закончится, никакой картинки не будет вообще. Словом, нужно найти кнопку перемотки назад. Но как можно отмотать назад собственную жизнь?
   
   Важно всегда помнить мудрую пословицу: «Река начинается с ручейка, а пьянство — с рюмочки».
   
   Позволю себе дать несколько советов, которые могут оказаться полезными в тот временной отрезок, когда пристрастие человека к спиртному только начинается.
   
   Его можно вытеснить другим химическим способом получения удовольствия — употреблением пищи. Необходимо всегда быть сытым, есть много и только вкусную пищу. Лишний вес — не беда, а повод заняться спортом.
   
   Не нужно оставлять ни одной свободной минуты. Взять новые обязанности дома и на работе. Не нравится нынешняя работа — искать новую. Не бояться резких перемен: человек все равно меняет жизнь.
   
   Составить письменную программу и начать немедленно ее выполнять. Это не просто план излечения от алкоголизма. Это — программа нового образа жизни.
   
   Важно вести учет действий (дневник, календарное расписание). Перед глазами должен быть в письменном виде материал для анализа и совершенствования программы. Учет покажет, что работа идет, и это поддержит человека в минуту сомнения.
   
   Даже если дела идут успешно — не испытывать волю рюмкой. Нужно вызвать отвращение к запаху, виду, воспоминаниям об алкоголе.
   
   Нужно постоянно учиться, как бороться с этой болезнью. Читайте специальную литературу. При этом человеку нужна поддержка родных и близких. Кроме психологической зависимости, во время лечения еще действует физическая зависимость (бывают боли в сердце, летучие боли во всем организме, одышка). Кроме того, человек испытывает тревогу, страх. Помогайте больному все средствами, советуясь с врачами.
Добавил(а): Admin

nest...

казино с бесплатным фрибетом Игровой автомат Won Won Rich играть бесплатно ᐈ Игровой Автомат Big Panda Играть Онлайн Бесплатно Amatic™ играть онлайн бесплатно 3 лет Игровой автомат Yamato играть бесплатно рекламе казино vulkan игровые автоматы бесплатно игры онлайн казино на деньги Treasure Island игровой автомат Quickspin казино калигула гта са фото вабанк казино отзывы казино фрэнк синатра slottica казино бездепозитный бонус отзывы мопс казино большое казино монтекарло вкладка с реклама казино вулкан в хроме биткоин казино 999 вулкан россия казино гаминатор игровые автоматы бесплатно лицензионное казино как проверить подлинность CandyLicious игровой автомат Gameplay Interactive Безкоштовний ігровий автомат Just Jewels Deluxe как использовать на 888 poker ставку на казино почему закрывают онлайн казино Игровой автомат Prohibition играть бесплатно

© 2024 Toko Cleax. Seluruh hak cipta.