빙고
시간 제한1초메모리 제한128 MB
1부터 N^2까지의 수를 NxN 보드에 배치해 호출 순서에서 연속된 N개 구간과 정확히 일치하는 행의 개수를 최대화하는 문제입니다.
문제
빙고 게임에서 진행자는 숫자를 하나씩 부르고, 각 플레이어는 자신의 빙고판에서 그 숫자를 찾는다.
각 플레이어의 빙고판은 N행 N열이며, 1부터 N^2까지의 숫자가 각각 한 번씩 적혀 있다.
진행자가 숫자를 부를 때마다, 플레이어는 지금까지 불린 숫자 중 가장 최근 N개를 본다. 빙고판의 어떤 행이 이 N개의 숫자를 정확히 같은 순서로 가지고 있으면, 그 행에 대해 1점을 얻는다.
N이 3이고 어떤 플레이어가 다음과 같은 빙고판을 가지고 있다고 하자.
동혁이는 빙고 게임에서 늘 꼴등을 한다. 오늘만은 1등을 하겠다고 다짐한 동혁이는 진행자가 숫자를 부를 전체 순서를 알아냈다. 이 순서가 주어졌을 때, 빙고판의 숫자를 적절히 배치해서 얻을 수 있는 최대 점수를 구하시오.
입력
첫째 줄에 빙고판의 크기 N과 진행자가 부를 숫자의 개수 B가 주어진다. (2 <= N <= 4, 1 <= B <= 10000)
다음 B개 줄에는 진행자가 부르는 숫자가 순서대로 하나씩 주어진다. 모든 숫자는 1 이상 N^2 이하이다.
출력
얻을 수 있는 최대 점수를 출력한다.