아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

승부 조작

면접 대비

시간 제한1초메모리 제한512 MB

요약
N x N 오목 판에서 흰 돌 하나를 검은 돌로 바꿀 때, 가로, 세로, 대각선 방향으로 연속한 검은 돌의 최대 길이를 가장 크게 만드는 값을 구한다.
난이도

보통10점 중 5점

유형
배열, 완전 탐색, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

고양이 랑이와 메리는 오목 게임을 변형한 냥목 게임을 하고 있다. 냥목 게임의 규칙은 복잡하니 점수 계산 방법만 살펴보자.

냥목 게임은 위 그림과 같은 N×NN \times N 크기의 바둑판에서 흑돌과 백돌로 진행된다.

랑이는 흑돌을, 메리는 백돌을 사용한다.

냥목 게임에서 랑이의 점수는 가로, 세로, 대각선 중 한 방향으로 연속해 있는 가장 긴 흑돌의 길이가 된다.

잠시 집사가 돌아와 메리가 마중을 나간 사이, 랑이는 메리의 돌 하나를 자신의 돌로 바꿔치기하려고 한다. 즉, 랑이는 백돌 하나를 흑돌로 바꿀 수 있다.

랑이가 백돌 하나를 흑돌로 바꿀 때 얻을 수 있는 최대 점수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 자연수 NN이 주어진다. (2≤N≤1,0002 \le N \le 1,000)

둘째 줄부터 NN개 줄에는 줄마다 NN개의 숫자가 공백으로 구분되어 주어진다. 이는 랑이가 돌을 바꿔치기하기 전 바둑판의 상태를 나타낸다. 각 수는 0, 1, 2 중 하나로 주어지고, 0은 비어 있는 위치를, 1은 흑돌을, 2는 백돌을 의미한다.

흑돌과 백돌은 각각 하나 이상 존재한다.

출력

랑이가 얻을 수 있는 최대 점수를 출력한다.

예제1

  1. 예제 1

    입력
    5
    1 1 0 1 0
    1 1 0 0 0
    1 0 2 1 0
    1 0 2 1 0
    0 1 0 0 1
    
    예상 출력
    5