问题是PolygonGame问题: https://open.kattis.com/problems/polygongame
我们从一个凸多边形开始,通过从多边形的一侧到另一侧画直线来划分它,然后找到最大部分的面积并打印出来。
这是我使用字符串作为输入的文件: https://github.com/STProgrammer/problem/blob/main/polygon-game-testing.py
这是我使用 shapely 库解决相同问题的文件,以比较我的结果: https://github.com/STProgrammer/problem/blob/main/polygon-game-with-shapely.py
在我的本地电脑中,无论我使用 shapely 还是我的代码,我都会在不同的输入和情况下得到相同的结果。我用笔和纸检查了其中一些,结果是正确的。
这是提交的文件: https://github.com/STProgrammer/problem/blob/main/polygon-game-submit.py
我用我的输入尝试了提交文件,得到了与上面两个代码相同的结果。
但是当我在 Kattis 上提交代码时,我只得到第一个正确的,其他都是错误的。众所周知,Kattis 不会对结果提供反馈。
我怎样才能找出问题所在?
我认为多边形在问题中只是凸的,正如他们提到的那样。我的代码不适用于凹多边形。我对这个问题的假设是否错误?
我在 Windows 11 上使用 Python 3.10.10 在 Spyder 上运行代码。这是问题吗?
我错过了一些边缘情况吗?
同样的事情也发生在我身上。我发现由于某种原因,读取“print()”或“sys.stdin.read()”中的标准会给出完全不同的答案。当我因为 VS Code 代码正确但 Kattis 拒绝而感到沮丧时,我多次通过将输入法切换到 stdin.read 来解决它