int map[N+1][M+1] 이런식으로 하면 문제 많다고
vector<vector<int>> map(N+1, vector<int>(M+1)) 항상 이런식으로 해야 문제가 안 생긴다고 배웠음

그리고 for, while이런것도 최대한 쓰지 않아야 모던한 코드를 작성할 수 있고
N개 입력받을때도 반복문으로 입력받지말고 istream_iterator, ostream_iterator으로 하라는데

근데 이렇게 하는게 많이 중요함?
알고리즘 할때는 걍 막썼는데 새롭네