I solved this problem Your text to link here... get memory limit exceed on test case 46 by this solution Your text to link here... and get accepted by this solution Your text to link here.... I only change the type to resize and initialize the vector vis.resize(n).
vector<vector > vis; vector<vector > cur; vector<vector > dis; vector<vector > siz; vector<vector > r; vector<vector > c; vector<vector > path;
by this get memory limit exceed. vis.resize(n); path.resize(n); cur.resize(n); c.resize(n); dis.resize(n); r.resize(n); siz.resize(n); for(int i = 0; i < n; i++){ vis[i].resize(m, 0); path[i].resize(m); cur[i].resize(m, 0); c[i].resize(m); dis[i].resize(m, -1); r[i].resize(m, -1); siz[i].resize(m, 0); for(int j = 0; j < m; j++){ siz[i][j] = vis[i][j] = cur[i][j] = 0; r[i][j] = dis[i][j] = -1; cin >> c[i][j]; } }
by this get accepted
vis.resize(n); path.resize(n); cur.resize(n); c.resize(n); dis.resize(n); r.resize(n); siz.resize(n); for(int i = 0; i < n; i++){ vis[i].resize(m); cur[i].resize(m); dis[i].resize(m); r[i].resize(m); siz[i].resize(m); c[i].resize(m); path[i].resize(m); for(int j = 0; j < m; j++){ siz[i][j] = vis[i][j] = cur[i][j] = 0; r[i][j] = dis[i][j] = -1; cin >> c[i][j]; } }