level 4 - 가장 큰 정사각형 찾기 (Segmentation Fault)

(Segmentation Fault) 가 발생하는데 이유를 모르겠어요

'''
#include<iostream>
#include<vector>
#include<utility>
#include<algorithm>
using namespace std;

int Min(int a, int b, int c){
  a = a < b ? a : b;
  return a < c ? a : c;
}

int findLargestSquare(vector<vector<char>> board)
{
  vector<vector<int>> tem(5, vector<int>(5,0));
  int max = 0;
    for(int a=0; a<board.size(); a++){
    for(int b=0; b<board.size();b++){
        if(board[a][b]=='O')
        tem[a][b]=1;
    }
  }
  for(int a=1; a<board.size(); a++){
    for(int b=1; b<board.size();b++){
      if(tem[a][b]==1){
        tem[a][b] = Min(tem[a-1][b-1],tem[a-1][b],tem[a][b-1])+1;
        max = max > tem[a][b] ? max : tem[a][b];
      }
    }
  }
    return pow(max,2);
}

int main()
{
    vector<vector<char>> board{
                {'X','O','O','O','X'},
                {'X','O','O','O','O'},
                {'X','X','O','O','O'},
                {'X','X','O','O','O'},
                {'X','X','X','X','X'}};

    //아래는 테스트 출력을 위한 코드입니다.
    cout<<findLargestSquare(board);
}
'''

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.