Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/41: Рейтинг темы: голосов - 41, средняя оценка - 4.61
10 / 9 / 0
Регистрация: 10.04.2020
Сообщений: 40

Расстановка ферзей

09.05.2020, 14:09. Показов 9905. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На шахматной доске размером n×n необходимо расставить n ферзей таким образом, чтобы ни один из них не атаковал другого.

Напишите для этого функцию queens(size), где size – это размер доски (size > 2).
Формат ввода
Тестирующая система будет вызывать вашу функцию, например, так:

queens(5)
Формат вывода
Все решения в порядке возрастания.

Например, для доски 8×8 решение выглядит так:

15863724
...
84136275


Каждая цифра указывает вертикальную координату одного ферзя (по условию задачи два ферзя не могут находиться на одной вертикали). Первая цифра относится к горизонтали А, вторая – к B и т.д. Например, решение

15863724
нужно интерпретировать так: ферзи на клетках (A;1), (B;5), (C;8), ..., (H;4) – первый символ – координата по горизонтали, второй – по вертикали.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2020, 14:09
Ответы с готовыми решениями:

Расстановка ферзей
На шахматной доске размером n×n необходимо расставить n ферзей таким образом, чтобы ни один из них не атаковал другого. Напишите для...

Расстановка N ферзей на шахматной доске N×N
Требуется расставить N ферзей на шахматной доске N×N таким образом, чтобы никакие два ферзя не били друг друга. Расстановку необходимо...

Расстановка кораблей
Неправильно расставленные корабли. Буду признателен за любую помощь. def create_ship(arr_ships): ctr = 0 ships = 0 ...

3
0 / 0 / 0
Регистрация: 12.04.2021
Сообщений: 19
23.04.2021, 18:32
Тема ещё актуально, пожалуйста помогите!!!
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,316
25.04.2021, 14:29
здравствуйте, вопрос в первую очередь по github и после его прояснения может будет просветление относительно этой темы
python-chess - генерируем шахматную доску с действиями
https://github.com/niklasf/python-chess
код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import os
import platform
import re
import sys
import textwrap
 
import setuptools
 
if sys.version_info < (3,):
    raise ImportError(textwrap.dedent("""\
        You are trying to install python-chess on Python 2.
        The last compatible branch was 0.23.x, which was supported until the
        end of 2018. Consider upgrading to Python 3.
        """))
 
if sys.version_info < (3, 7):
    raise ImportError("Since version 1.0.0, python-chess requires Python 3.7 or later.")
 
import chess  # pip install chess
 
 
def read_description():
    """
    Reads the description from README.rst and substitutes mentions of the
    latest version with a concrete version number.
    """
    with open(os.path.join(os.path.dirname(__file__), "README.rst"), encoding="utf-8") as f:
        description = f.read()
 
    # Link to the documentation of the specific version.
    description = description.replace(
        "//python-chess.readthedocs.io/en/latest/",
        "//python-chess.readthedocs.io/en/v{}/".format(chess.__version__))
 
    # Use documentation badge for the specific version.
    description = description.replace(
        "//readthedocs.org/projects/python-chess/badge/?version=latest",
        "//readthedocs.org/projects/python-chess/badge/?version=v{}".format(chess.__version__))
 
    # Show Travis CI build status of the concrete version.
    description = description.replace(
        "//travis-ci.org/niklasf/python-chess.svg?branch=master",
        "//travis-ci.org/niklasf/python-chess.svg?branch=v{}".format(chess.__version__))
 
    # Show Appveyor build status of the concrete version.
    description = description.replace(
        "/y9k3hdbm0f0nbum9/branch/master",
        "/y9k3hdbm0f0nbum9/branch/v{}".format(chess.__version__))
 
    # Remove doctest comments.
    description = re.sub(r"\s*# doctest:.*", "", description)
 
    return description
 
 
setuptools.setup(
    name="chess",
    version=chess.__version__,
    author=chess.__author__,
    author_email=chess.__email__,
    description=chess.__doc__.replace("\n", " ").strip(),
    long_description=read_description(),
    long_description_content_type="text/x-rst",
    license="GPL-3.0+",
    keywords="chess fen epd pgn polyglot syzygy gaviota uci xboard",
    url="https://github.com/niklasf/python-chess",
    packages=["chess"],
    test_suite="test",
    zip_safe=False,  # For mypy
    package_data={
        "chess": ["py.typed"],
    },
    python_requires=">=3.7",
    classifiers=[
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "Intended Audience :: Science/Research",
        "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
        "Operating System :: OS Independent",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Topic :: Games/Entertainment :: Board Games",
        "Topic :: Games/Entertainment :: Turn Based Strategy",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Typing :: Typed",
    ],
    project_urls={
        "Documentation": "https://python-chess.readthedocs.io",
    },
    obsoletes=["python_chess"],
)
сначала я добавил файл так как была ошибка FileNotFoundError: [Errno 2] No such file or directory: 'C:\\pythonProject\\README.rst'
в настоящее время ошибка
usage: sudrf.ru1.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: sudrf.ru1.py --help [cmd1 cmd2 ...]
or: sudrf.ru1.py --help-commands
or: sudrf.ru1.py cmd --help

error: no commands supplied
что за ересь?
а вообще, есть у кого код попроще или ссыль по теме python-chess - генерируем шахматную доску с действиями, спс

Добавлено через 3 часа 43 минуты
по теме-https://coderoad.ru/2860563/python-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0% BA%D0%B0-%D1%88%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D0% BD%D1%8B%D1%85-%D1%85%D0%BE%D0%B4%D0%BE%D0%B2

python: проверка шахматных ходов
Python
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/python
from Chessnut import Game # pip install Game pip install Chessnut
 
chessgame = Game(fen="rnbq1rk1/ppppp1bp/5np1/5p2/2PP4/2NBPN2/PP3PPP/R1BQK2R b KQ - 4 6")
print (chessgame)
 
print (chessgame.get_moves())
 
# apply a move
chessgame.apply_move(chessgame.get_moves()[1])
 
print (chessgame)
0
0 / 0 / 0
Регистрация: 11.01.2025
Сообщений: 5
26.03.2025, 18:57
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def queens(size):
    def is_safe(board, row, col):
        for i in range(col):
            if board[i] == row or \
               board[i] - i == row - col or \
               board[i] + i == row + col:
                return False
        return True
 
    def solve(board, col, solutions):
        if col == size:
            solutions.append(''.join(map(str, [x + 1 for x in board])))
            return
        for row in range(size):
            if is_safe(board, row, col):
                board[col] = row
                solve(board, col + 1, solutions)
 
    solutions = []
    solve([0] * size, 0, solutions)
    for solution in sorted(set(solutions)):
        print(solution)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.03.2025, 18:57
Помогаю со студенческими работами здесь

Расстановка скобок
Предмет Начало выполнения домашнего Завершение выполнения домашнего ...

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

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

Расстановка скобок в цикле for in
Есть формула, не получается прописать ее в python 3.x Не могу расставить скобки походу a - average1 - a подчеркивается...

Случайная расстановка баллов. Работа с файлами .txt и .csv
Нужно написать программу случайной расстановки баллов (целое от 1 до 10) людям, чьи ФИО перечислены в файле fio-2.txt. Результат нужно...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru