Из прямоугольника размером M на N, клетки которого раскрашены в черный и белый цвет, требуется вырезать квадрат размера K на K, раскрашенный в шахматном порядке
Категория: Basic
2011-11-09 16:21:17
(то есть любые две соседние клетки раскрашены в разные цвета).
Формат входных данных:
Введите числа M, N, K (1<=K<=M, N<=900). Далее в M строках введите N чисел 0 или 1, задающие цвета клеток прямоугольника.
Формат выходных данных:
Программа должна выводить номера строки и столбца клетки – левого верхнего угла вырезаемой доски. Если требуемый квадрат вырезать невозможно, программа должна выводить одно число 0.
code: #basic
FOR cM = 1 TO M - K FOR cN = 1 TO N - K startColor = A(cM, cN) 'цвет первой клетки FOR i = 1 TO K FOR j = 1 TO K trueColor = ABS((i + j) MOD 2 - startColor) 'требуемый цвет IF A(cM + i - 1, cN + j - 1) <> trueColor THEN 'не совпал GOTO colorError 'двигаемся дальше END IF NEXT j NEXT i PRINT cM; cN GOTO gameOver 'нашли ответ : colorError NEXT cN NEXT cM ptint 0 : gameOver
автор: Toxa33rus
Поделиться: