#ifdef OPENSTACK
int size = 128 << 20; // 64MB
char *p = (char*)malloc(size) + size;
#if (defined _WIN64) or (defined __unix)
__asm__("movq %0, %%rsp\n" :: "r"(p));
#else
__asm__("movl %0, %%esp\n" :: "r"(p));
#endif
#endif
#ifdef OPENSTACK
exit(0);
#else
return 0;
#endif
OPENSTACK ;
这一段加在main函数里,可以避免在dfs的时候递归太深而爆栈