鉴于HDU用的是windows服务器,所以stack大小及其坑爹,稍微深一点的递归栈就会stack overflow。 通常的规避方法是用stack或者手写stack模拟栈的递归过程 用手工扩展栈。
微软的编译器(C++)
#pragma comment(linker, "/STACK:102400000,102400000")
G++
int size = 256 << 20; // 256MB
char *p = (char*)malloc(size) + size;
__asm__("movl %0, %%esp\n" :: "r"(p));