刷OJ时,发现差不多的代码,室友的内存大约是我的一半。
经过详细的比对,发现问题出现在memset函数上面。
const int maxx=1010;
int a[maxx][maxx];
memset(a,0,sizeof(a));
结果如图
如果手写循环进行初始化的话:
const int maxx=1010;
int a[maxx][maxx];
for(int i=0;i<maxx;i++)
for(int j=0;j<maxx;j++)
a[i][j]=0;
(上面代码经过原代码的改写,但不会对测评结果有显著影响)
之前也遇到过由于用了memset而TLE的问题,现在看起来是真的存在这种问题。
百度了一下,看了好多人的博客,众说纷纭, 真相有待我进一步测试。