выразить б.квадрат можно через массив 1000х1000, элементы которого - значения булевского типа. Если этот участок квадрата вырезан, то элементам из участка надо присвоить true. если при вырезке второго участка мы натыкаемся на элементы со значением true, то выводим ошибку.
это первое, что пришло в голову