Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3539350
А
Аноним
17 декабря 2025 17:19 · публичный вопрос
А
Аноним

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

Запрос пользователя

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

Ответ нейросети
17 декабря 2025 17:19

import sys

def solve(h, w): grid = [[False for _ in range(w)] for _ in range(h)]

class Robot:
    def __init__(self, grid):
        self.grid = grid
        self.x = 0  # column, 0 is leftmost
        self.y = 0  # row, 0 is bottom
        self.grid[self.y][self.x] = True  # starting cell painted

    def paint(self):
        self.grid[self.y][self.x] = True

    def move_right(self):
        if self.x < len(self.grid[0]) - 1:
            self.x += 1

    def move_left(self):
        if self.x > 0:
            self.x -= 1

    def move_up(self):
        if self.y < len(self.grid) - 1:
            self.y += 1

    def move_down(self):
        if self.y > 0:
            self.y -= 1

    def move_to_leftmost(self, y_target):
        while self.y < y_target:
            self.move_up()
        while self.y > y_target:
            self.move_down()
        while self.x > 0:
            self.move_left()
        # now at (0, y_target)

    def paint_row(self):
        self.x = 0
        self.paint()
        while self.x < len(self.grid[0]) - 1:
            self.move_right()
            self.paint()

robot = Robot(grid)
for row in range(h):
    robot.move_to_leftmost(row)
    robot.paint_row()

return grid

def print_grid(grid): # Print from top row to bottom for readability for row in reversed(grid): print(''.join('#' if cell else '.' for cell in row))

def main(): data = sys.stdin.read().strip().split() if len(data) >= 2: h = int(data[1]) w = int(data[0]) else: h, w = 4, 5 # default grid = solve(h, w) print_grid(grid)

if name == "main": main()