#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int** arr, int arr_row_len, int arr_col_len, int N) {
    //여기에 코드를 작성해주세요
	int answer = 0;
	return answer;
}

// 아래는 테스트케이스 출력을 해보기 위한 main 함수입니다. 아래에는 잘못된 부분이 없으니 위의 코드만 수정하세요.

int main() {
    int arr1_row_len = 5;
	int arr1_col_len = 5;
    int N1 = arr1_row_len;
	int** arr1 = (int**)malloc(sizeof(int*) * arr1_row_len);
	for(int i = 0; i < arr1_row_len; i++)
		arr1[i] = (int*)malloc(sizeof(int) * arr1_col_len);

	arr1[0][0] = 0;
	arr1[0][1] = 25;
	arr1[0][2] = 7;
	arr1[0][3] = 56;
	arr1[0][4] = 12;
	arr1[1][0] = 4;
	arr1[1][1] = 0;
	arr1[1][2] = 31;
	arr1[1][3] = 88;
	arr1[1][4] = 45;
	arr1[2][0] = 62;
	arr1[2][1] = 19;
	arr1[2][2] = 0;
	arr1[2][3] = 71;
	arr1[2][4] = 23;
	arr1[3][0] = 95;
	arr1[3][1] = 36;
	arr1[3][2] = 51;
	arr1[3][3] = 0;
	arr1[3][4] = 44;
	arr1[4][0] = 16;
	arr1[4][1] = 41;
	arr1[4][2] = 66;
	arr1[4][3] = 73;
	arr1[4][4] = 0;
    int ret1 = solution(arr1, arr1_row_len, arr1_col_len, N1);
	// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
	printf("solution 함수의 반환 값은 %d입니다.\\n", ret1);
    
    int arr2_row_len = 5;
	int arr2_col_len = 5;
    int N2 = arr2_row_len;
	int** arr2 = (int**)malloc(sizeof(int*) * arr2_row_len);
	for(int i = 0; i < arr2_row_len; i++)
		arr2[i] = (int*)malloc(sizeof(int) * arr2_col_len);

	arr2[0][0] = 0;
	arr2[0][1] = 11;
	arr2[0][2] = 24;
	arr2[0][3] = 98;
	arr2[0][4] = 46;
	arr2[1][0] = 53;
	arr2[1][1] = 0;
	arr2[1][2] = 29;
	arr2[1][3] = 62;
	arr2[1][4] = 75;
	arr2[2][0] = 82;
	arr2[2][1] = 36;
	arr2[2][2] = 0;
	arr2[2][3] = 5;
	arr2[2][4] = 18;
	arr2[3][0] = 42;
	arr2[3][1] = 54;
	arr2[3][2] = 33;
	arr2[3][3] = 0;
	arr2[3][4] = 21;
	arr2[4][0] = 9;
	arr2[4][1] = 54;
	arr2[4][2] = 92;
	arr2[4][3] = 86;
	arr2[4][4] = 0;
    int ret2 = solution(arr2, arr2_row_len, arr2_col_len, N2);
	// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
	printf("solution 함수의 반환 값은 %d입니다.\\n", ret2);
    
    int arr3_row_len = 4;
	int arr3_col_len = 4;
    int N3 = arr3_row_len;
	int** arr3 = (int**)malloc(sizeof(int*) * arr3_row_len);
	for(int i = 0; i < arr3_row_len; i++)
		arr3[i] = (int*)malloc(sizeof(int) * arr3_col_len);

	arr3[0][0] = 0;
	arr3[0][1] = 18;
	arr3[0][2] = 34;
	arr3[0][3] = 22;
	arr3[1][0] = 48;
	arr3[1][1] = 0;
	arr3[1][2] = 55;
	arr3[1][3] = 61;
	arr3[2][0] = 18;
	arr3[2][1] = 7;
	arr3[2][2] = 0;
	arr3[2][3] = 15;
	arr3[3][0] = 71;
	arr3[3][1] = 86;
	arr3[3][2] = 94;
	arr3[3][3] = 0;
    int ret3 = solution(arr3, arr3_row_len, arr3_col_len, N3);
	// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
	printf("solution 함수의 반환 값은 %d입니다.\\n", ret3);

}