在本机调试的时候,经常会出现爆栈的问题,那是因为本机的栈比OJ上的要小很多。
如果不想打人工栈,那就可以复制上以下代码进行手动加栈,调节本机上栈的上限。
- int size = 1024 << 20; // 1024MB
- char *p = (char*)malloc(size) + size;
- __asm__("movl %0, %%esp\n" :: "r"(p));
这是1024MB的,如果有需要还可以把第一行的1024换成其它数字。
把该段代码写在程序正文。
注意要开<algorithm>库。