内存超出范围!!!
查看原帖
内存超出范围!!!
286238
TLE_Forever楼主2020/7/23 18:36
#include <iostream>

using namespace std;

int main()
{
    const int MaxSize = 30001;
    int n, wi, wj, x, y, r;
    int **NMap = new int* [MaxSize];
    for (int i = 0; i < MaxSize; i++)
        NMap[i] = new int [MaxSize];
    int dx[4] = {0, 1, 0, -1};
    int dy[4] = {1, 0, -1, 0};

    cin >> n >> wi >> wj;

    x = 0; y = 0; r = 0;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            NMap[i][j] = 0;
    for (int i = 1; i <= n * n; i++)
    {
        NMap[x][y] = i;
        if (x == wi - 1 && y == wj - 1)
            break;
        if ((x + dx[r] >= n || x + dx[r] < 0) ||
                (y + dy[r] >= n || y + dy[r] < 0) ||
                NMap[x + dx[r]][y + dy[r]] > 0)
            r++;
        if (r == 4)
            r = 0;
        x += dx[r];
        y += dy[r];
    }

    cout << NMap[wi - 1][wj - 1] << endl;

    for (int i = 0; i < MaxSize; i++)
        delete[] NMap[i];
    delete[] NMap;
    return 0;
}

10个数据点5个MLE(Memory Limit Exceeded),请问怎样减少内存至125.00MB125.00MB以下(newdelete动态数组都用上了还是不行QAQ)?还有程序怎么在上传前检查内存?

2020/7/23 18:36
加载中...