OJ上的一个题目,自己写的,输入8时有输出,但输入16时没有输出,提交显示内存超限

发布时间:2019-07-29 18:01:45

```cpp

#include <cstdio>

int a[10000][10000] = {0}, n, i, j, t, plus = 1;

int main() {

//freopen("5068.in","r",stdin);

//freopen("5068.out","w",stdout);

a[0][0] = 1;

scanf("%d",&n);

t = n;

while(t) {

for(i = 0; i < plus; ++i)

for(j = 0; j < plus; ++j)

a[i][j+plus]=a[i][j]+plus;

for(i = 0; i < plus; ++i)

for(j = 0; j < plus; ++j) {

a[i+plus][j]=a[i][j+plus];

a[i+plus][j+plus]=a[i][j];

}

plus *= 2;

--t;

}

for(i = 0; i < n; ++i) {

//printf("%d:",a[i-1][0]);

for(j = 0; j < n; ++j) {

if(j == 0)printf("%d:",a[i][j]);

elseprintf("%2d",a[i][j]);

}

printf("\n");

}

return 0;

}

```

推荐回答

明显的算法问题,当输入为16时,下标溢出了

以上问题属网友观点,不代表本站立场,仅供参考!