Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
7 / 6 / 1
Регистрация: 02.12.2022
Сообщений: 59

Шахматная доска

16.04.2023, 22:54. Показов 1776. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Представьте, что вы пишете компьютерную игру «Шахматы».
Вам надо смоделировать шахматную доску, которая представляет собой numpy-матрицу. Чёрная клетка представляется нулём, а белая — единицей. Если смотреть на доску сверху, то левая верхняя клетка — белая.
Вы уже практически реализовали задачу, ведь вы знаете, что у шахматной доски 8 столбцов и 8 строк, но заказчик вдруг изменил требования и заявил, что в его игре доска может быть произвольного размера, но всегда квадратной, например, 50х50.
Напишите функцию make_field(size), в которую поступает размер доски и которая возвращает требуемый массив numpy. Тип элементов массива должен быть np.int8.

Python
1
2
3
4
5
6
7
8
import numpy as np
 
 
def make_field(size):
    field = np.ones((size, size), dtype=np.int8) 
    field[(size + 1) % 2::2, ::2] = 0
    field[size % 2::2, 1::2] = 0
    return field
Всем добрый день! Программа превышает лимит памяти. Помогите, пожалуйста, как изменить код, чтобы не превышался лимит памяти или времени?

Добавлено через 5 часов 16 минут
Python
1
2
3
4
5
6
7
8
9
10
import numpy as np
 
    
def make_field(size):
    f = np.zeros([size, size], dtype=np.int8)
    for i in range(len(f)):
        for j in range(len(f)):
            if (j % 2 != 1 and i % 2 == 0) or (j % 2 != 0 and i % 2 == 1):
                f[i][j] = 1
    return f
Превышает лимит времени 1 секунда
Код так же не должен превышать лимит памяти 64 мб

Код валится на 6-м тесте, когда тестирующая система вводит:
Python
1
print(make_field(2000))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.04.2023, 22:54
Ответы с готовыми решениями:

Шахматная доска
Добрый вечер! Есть задача: Напишите функцию board(num, size), создающую графический файл в формате PNG с изображением квадратного...

шахматная доска
Шахматная доска состоит из n×m клеток, покрашенных в чёрный и белый цвет в шахматном порядке. При этом клетка в левом нижнем углу доски...

Шахматная доска
Представьте, что вы пишете компьютерную игру «Шахматы». Вам надо смоделировать шахматную доску, которая представляет собой numpy-матрицу....

1
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
17.04.2023, 10:15
Цитата Сообщение от Dezertir747 Посмотреть сообщение
Тип элементов массива должен быть np.int8.
но int8 Целые числа в диапазоне от -128 по 127 (числа размером 1 байт)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.04.2023, 10:15
Помогаю со студенческими работами здесь

Шахматная доска
Представьте, что вы пишете компьютерную игру «Шахматы». Вам надо смоделировать шахматную доску, которая представляет собой numpy-матрицу....

Шахматная доска
Начинающий программист в питоне, не могу решить данную задачу На шахматной доске 8х8 расположены три фигуры: ферзь, ладья и конь....

Задача 'Шахматная доска'
Саша пронумеровала клетки шахматной доски, начиная с левого нижнего угла (клетки a1a1) по горизонталям сверху вниз, внутри горизонтали...

Задача «Шахматная доска»
Условие Даны два числа n и m. Создайте двумерный массив размером n×m и заполните его символами "." и "*" в шахматном...

Ход короля и шахматная нотация
Шахматный король ходит по горизонтали, вертикали и диагонали, но только на одну клетку. Даны две различные клетки шахматной доски,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru