June 2023 2 38 Report
Python. Валидность поля SUDOKU

Все знают SUDOKU.

На входе дают 9 строк. Например

195743862

431865927

876192543

387459216

612387495

549216738

763524189

928671354

254938671

Это построчные наборы цифр.

Необходимо проверить чтобы каждая строка содержала от 1 до 9

Каждый столбец содержал от 1 до 9

И каждый маленький квадратик 3*3 (9 шт) содержал от 1 до 9

Чтобы было все и не повторялось.

Считать циферки можно так:

A=[list(input()) for i in range(9)]

И это уже даже будет списком двухмерным.

Затем можно проверить строки быстро

for i in range(9):

if len(set(A[i]))!=9: print('все плохо :)') #здесь проверка когда еще был одномерный список, но идея должна быть понятна.

но надо еще столбцы проверить, что в принципе легко и самое интересное квадратики. Кто подскажет нерутинные интересные решения?


Еще для теста

295743861

431865927

876192543

387459216

612387495

549216738

763524189

928671354

154938672


На выходе Yes/No (валидное игровое поле или где-то накосячено).


Можно и рутинные, но чтоб не очень сильно :). Предлагайте.


Не знающим - проходите мимо.
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Answers & Comments


Copyright © 2024 SCHOLAR.TIPS - All rights reserved.