发现了,为何RuntimeError。。。

sgu 125 让我快要崩溃,写了一个很纠结的搜索(搜的是给个方格间的大小关系,最后拓扑排序),每次交上去都Runtime Error on test 1,愤怒了,写了一个取数据的程序,如下:

 

 

 

发现第一个数据就是样例,但在我的机器上运行地好好的。估计是windows的原因,在虚拟机里面用gcc 3.4.2 (mingw) 编译运行,还是没有问题。

 

郁闷了一会儿,估计是编译参数的问题,于是查了一下sgu的FAQ,发现其编译参数是:

g++ %1 -fno-asm -Wall -lm -O2 -s -DONLINE_JUDGE

 

用该参数编译后,程序在windows上立即崩溃,在linux下(gcc 4.1.2)还是没事……

 

看来只好在winows下展开艰辛的debug。。。。。。

 

经过控制变量法试验,终于发现是-O2的问题。通过gdb,发现是一个数组开小了那么一点。。。 (ˇˍˇ)

诡异的是,在linux下竟然可得出正确答案。。。看来Linux内存管理算法不仅效率高,RP势能也很高。。。。。。

 

最后说明一下,使用该算法不仅程序纠结,而且算法好像根本是错的,WA on test 3 。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值