如何避免OS X上的g ++编译器错误?

时间:2013-07-02 08:03:59

标签: c++ compiler-construction

我一直在为SPOJ.com网站上的一个问题编写解决方案。就是这个: http://www.spoj.com/problems/MINMOVE/

我的解决方案是为s + s创建滚动哈希(如果s是来自输入的完整字符串),所以我可以获得所有轮换。

这是代码: https://github.com/vfonic/SPOJ/blob/master/minmove.cpp

我在本地测试,我的代码在遵循简单的测试用例时失败了: AABA

打印0而不是3(3是获得按字典顺序排列的最小字符串的旋转数:aaab)。

我添加了printf(“”);作为first line in h()函数行,而不是0,我得到了正确答案:3。

然后我删除了printf行并将代码发送到SPOJ。我的解决方案被接受了 我也在我的室友电脑(Ubuntu)上测试了相同的代码(没有printf),他得到了3。

我有最新的OS X Mountain Lion:10.8.4。 这是g++ --version

的输出
i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.

当我添加虚拟printf时,有没有人有任何想法为什么我的代码打印正确的答案,否则错误的答案?

0 个答案:

没有答案