Есть ответ 👍

«вирусы» для моделирования различных объектов часто применяются так называемые клеточные поля. в простейшем случае – это прямоугольные таблицы, характеризующие некоторую область, а в каждой ячейке таблицы записывается какая-либо информация об исследуемом объекте. в биологии для моделирования распространения вирусов на плоской области в каждой ячейке помечается наличие вируса, а его распространение осуществляется в соседние ячейки по вертикали и горизонтали за одну единицу времени. некоторые клетки иммунитетом, заразить их невозможно и через них не распространяются вирусы. требуется написать программу, которая определяет минимально возможное число вирусов, с которых можно заразить всю исследуемую прямоугольную область (за исключением защищённых клеток). описание входных данныхв первой строке входного файла input.txt записаны два натуральных числа n и m -размеры таблицы (количество строк и столбцов соответственно). известно, что 1 n, m 100. во второй строке вначале записано одно число k – количество защищённых клеток, а далее записаны 2k чисел – координаты этих клеток xi, yi (0 k n m, 1 xi n, 1 yi m). описание выходных данных в единственную строку выходного файла output.txt нужно вывести одно число –минимально возможное число вирусов. примеры входных и выходных данных input.txt 4 5 3 1 3 2 1 2 2 output.txt 2

198
437
Посмотреть ответы 2

Ответы на вопрос:


Uses graphabc; const types = 3; rmax = 4; caneat = rmax; eps = 0.00001; epsustupi = 0.1; strahkraj = 3; ustupi = caneat*10; bkcolor = clblack; height = 600; width = 780; xmin = 10; ymin = 10; xmax = width - 100; ymax = height - 140; type fishtype = class c, canrazm, maxkol, kol, maxlife, minfood: integer; speed, see: real; constructor create(ac, acanrazm, amaxkol, amaxlife, aminfood: integer; aspeed, asee: real); begin c: = ac; canrazm: = acanrazm; maxkol: = amaxkol; kol: = 1; maxlife: = amaxlife; minfood: = aminfood; speed: = aspeed; see: = asee end; procedure showkol(y: integer); var s: string; begin setfontcolor(c); textout(xmax + 20, y, ' '); str(kol, s); textout(xmax + 20, y, s); end; end; var opisanie: array[0..types] of fishtype; type fish = class x, y, r, dx0, dy0: real; tip, life, razm, status, food: integer; next, prev: fish; constructor create(ax, ay, ar: real; atip: integer; aprev, anext: fish); begin x: = ax; y: = ay; r: = ar; tip: = atip; prev: = aprev; next: = anext; life: = 0; razm: = 0; dx0: = random; dy0: = random; status: = 1; food: = 0; end; procedure show; begin setpencolor(opisanie[tip].c); circle(round(x), round(y), round(r)) end; procedure hide; begin setpencolor(bkcolor); circle(round(x), round(y), round(r)) end; destructor destroy; begin hide; opisanie[tip].kol: = opisanie[tip].kol - 1; opisanie[tip].showkol(tip*40 + 20); end; procedure moveto(dx, dy: real); begin hide; x: = x + dx; y: = y + dy; if x > xmax then x: = xmax; if x < xmin then x: = xmin; if y > ymax then y: = ymax; if y < ymin then y: = ymin; show end; procedure makedeti(var mama, startakula, konakula, startkilka, konkilka : fish); var d: fish; begin razm: = 0; food: = 0; d: = fish.create(x, y, r, tip, mama, next); next.prev: = d; next: = d; if mama = konakula then konakula: = d; if mama = konkilka then konkilka: = d; opisanie[tip].kol: = opisanie[tip].kol + 1; opisanie[tip].showkol(tip*40 + 20); end; procedure step(var ribka, startakula, konakula, startkilka, konkilka : fish); var i, imin: integer; dx, dy, d, dx2, dy2, dmin: real; t, trup, found: fish; foundohot: boolean; begin status: = 1; dx: = 0; dy: = 0; if tip > 0 then begin t: = startakula; if t< > nil then repeat d: = sqrt((x - t.x)*(x - t.x) + (y - t.y)*(y - t.y)); if d < opisanie[tip].see then begin if d < eps then d: = eps; dx2: = (x - t.x)/(d*d); dy2: = (y - t.y)/(d*d); dx: = dx + dx2; dy: = dy + dy2; status: = 2; end; t: = t.next until t = konakula.next; if x - xmin < opisanie[tip].see then dx: = dx + 1/((x - xmin + eps)*strahkraj); if xmax - x < opisanie[tip].see then dx: = dx + 1/((x - xmax - eps)*strahkraj); if y - ymin < opisanie[tip].see then dy: = dy + 1/((y - ymin + eps)*strahkraj); if ymax - y < opisanie[tip].see then dy: = dy + 1/((y - ymax - eps)*strahkraj); d: = sqrt(dx*dx + dy*dy); if d < eps then begin dx: = 2*status*random*opisanie[tip].speed - status*opisanie[tip].speed; dy: = 2*status*random*opisanie[tip].speed - status*opisanie[tip].speed    

1. числовая-количественная - мера объектов и их свойств в окружающем мире.

2. звуковая — воспринимаемая органами слуха.

3.тактильная — воспринимаемая тактильными рецепторами.

4. обонятельная — воспринимаемая обонятельными рецепторами.

5. вкусовая — воспринимаемая вкусовыми рецепторами.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS