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

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

Millenium Leapcow

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

요약
1부터 N*N까지 채워진 N×N 판에서 나이트 이동으로 더 큰 수로만 이동하는 최장 경로를 찾고, 그중 사전순으로 가장 작은 경로를 출력한다.
난이도

보통10점 중 6점

유형
동적 계획법, 그래프, DFS, 정렬
정답자
아직 제출이 없습니다

문제

The cows have revised their game of leapcow. They now play in the middle of a huge pasture upon which they have marked a grid that bears a remarkable resemblance to a chessboard of N rows and N columns (3 ≤ N ≤ 365).

Here's how they set up the board for the new leapcow game:

  • First, the cows obtain N x N squares of paper. They write the integers from 1 through N x N, one number on each piece of paper.
  • Second, the 'number cow' places the papers on the N x N squares in an order of her choosing.

Each of the remaining cows then tries to maximize her score in the game.

  • First, she chooses a starting square and notes its number.
  • Then, she makes a 'knight' move (like the knight on a chess board) to a square with a higher number. If she's particularly strong, she leaps to the that square; otherwise she walks.
  • She continues to make 'knight' moves to higher numbered squares until no more moves are possible.

Each square visited by the 'knight' earns the competitor a single point. The cow with the most points wins the game.

Help the cows figure out the best possible way to play the game.

입력

  • Line 1: A single integer: the size of the board
  • Lines 2.. ...: These lines contain space-separated integers that tell the contents of the chessboard. The first set of lines (starting at the second line of the input file) represents the first row on the chessboard; the next set of lines represents the next row, and so on. To keep the input lines of reasonable length, when N > 15, a row is broken into successive lines of 15 numbers and a potentially shorter line to finish up a row. Each new row begins on its own line.

출력

  • Line 1: A single integer that is the winning cow's score; call it W.
  • Lines 2..W+1: Output, one per line, the integers that are the starting square, the next square the winning cow visits, and so on through the last square. If a winning cow can choose more than one path, show the path that would be the 'smallest' if the paths were sorted by comparing their respective 'square numbers'.

예제1

  1. 예제 1

    입력
    4
    1 3 2 16
    4 10 6 7
    8 11 5 12
    9 13 14 15
    
    예상 출력
    7
    2
    4
    5
    9
    10
    12
    13