nemat110909oy85z9
30.01.2020 00:52

Вариант решить
Нужно по логической схеме составить логическую функцию и определить результат входящих сигналов если на выходе результат равен 1

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Biszkopt99
22.03.2023 16:52
Рабо́чий стол (англ. desktop) — в компьютерной терминологии основное окно графической среды пользователя вместе с элементами, добавляемыми в него этой средой.

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

В некоторых рабочих средах (например, в MS Windows или в рабочих средах, удовлетворяющих требованиям freedesktop.org — KDE, GNOME и т. п.) с рабочим столом ассоциируется определённый каталог в файловой структуре компьютера (при этом обычно можно перетащить файл из стандартного для данной среды файлового менеджера на рабочий стол, и он будет туда скопирован). Ассоциированный каталог обычно находится в личной папке пользователя.

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

С точки зрения оконной системы рабочий стол может не являться окном низшего уровня (в системах Windows это можно заметить, завершив процесс «explorer.exe»).

Название «Рабочий стол» (точнее, «крышка рабочего стола», «столешница» — калька с англ. desktop) происходит от сравнения окон со стопкой бумаг, лежащих на столе.
0,0(0 оценок)
Ответ:
ArtSchoolMan
13.06.2021 14:34

Объяснение:

Эта задача сводится к задаче поиска пути на графе пространства состояний.

Состояние - положение черепашки на поле - (x, y).

Граф пространства состояний состоит из таких вершин-состояний, их количество N * M.

Переходов между вершинами всего два: R и D.

Здесь можно заметить, что прийти к одним и тем же вершинам мы можем разными путями. Например, путь из (0,0) в (1,1) можно расписать и как RD ((0,0) -> (0,1) -> (1,1)), и как DR ((0,0) -> (1,0) -> (1,1)), но это два разных маршрута.

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

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

Итак, для каждого состояния у нас есть два правила перехода. Рассчитывая максимальную стоимость маршрута для состояния (x,y) мы следуем алгоритму:

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

Если такой алгоритм применить к состоянию (0,0), то дойдем до (N, M) и получим максимальную цену и маршрут.

Код:

import re

from typing import List

cache = {}

def calculate_max_way_price(x: int, y: int, prices: List[List[int]], m:int, n:int):

   if (x, y) in cache:

       return cache[(x, y)]

   direction = ''

   cost = prices[y][x]

   x_cost, y_cost = -1, -1

   x_way, y_way = '', ''

   if x < m - 1:

       x_cost, x_way = calculate_max_way_price(x + 1, y, prices, m, n)

   if y < n - 1:

       y_cost, y_way = calculate_max_way_price(x, y + 1, prices, m, n)

   if not (x_cost < 0 and y_cost < 0):

       if x_cost > y_cost:

           cost += x_cost

           direction = 'R' + x_way

       else:

           cost += y_cost

           direction = 'D' + y_way

   cache[(x, y)] = (cost, direction)

   return cost, direction

MNtext = input('Enter N M: ')

MN = [int(x) for x in re.findall(r'\d+', MNtext)]

if len(MN) != 2:

   print("Input data error! It is not M and N")

   exit(-1)

N, M = MN[0], MN[1]

MAX_STEP_PRICE = 100

data = input('Enter all numbers separated by spaces. You must type ' + str(M*N) + ' elements:')

data = [int(x) for x in re.findall(r'\d+', data)]

if len(data) != N * M:

   print("Input data error! Too few/many numbers")

   exit(-2)

prices = []

for j in range(N):

   prices.append(data[M*j:M*(j+1)])

print(calculate_max_way_price(0, 0, prices, M, N))

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота