我想知道只是练习算法的好在线评判是什么。我目前不是很擅长编写算法,所以可能很容易(而且最不令人沮丧)会很好。
我已经尝试过UVA在线评判,但我花了大约20次尝试才能得到第一个示例问题;绝对没有关于如何阅读输入等的文档。我读过有关Topcoder的内容,但我并不是真的想参与竞争,而只是为了练习。
答案 0 :(得分:4)
更好地了解topcoder。是的,他们有比赛,但你仍然可以轻松地自己“玩”。你有一个目标和一个时间限制,你选择了你的语言,然后你编码。您可以查看最佳编码器的源代码以改善自己。
我已经使用过topcoder一段时间了,而且从来没有参加任何比赛。看看吧。
您可能还想查看Project Euler。不是法官,但有许多语言可用的数学问题和解决方案。
答案 1 :(得分:4)
查看SPOJ
答案 2 :(得分:2)
现在已经有一年了,所以我的回答是针对未来的傻瓜。
ACM-ICPC Live Archive有很多很大的问题,并且涉及很多不同的领域。 (项目Euler也很棒,但问题都是数论的。)和跳跃是正常的这些东西......最后我检查,Facebook Puzzles要求你发送一个包含代码和Ant构建文件的zip文件,他们需要很长时间才能回复你。
我只将Java代码发送到UVa,所以我会详细说明其他任何正在挣扎的人的Java细节。您的班级必须被称为Main
,其入口点必须是main
方法。您从System.in
开始阅读。如果您使用的是Unix-y平台,则在编译后可以使用
Java Main < input.txt
测试你的程序。
演示必须准确。例如,如果他们说“输出应该用空行分隔”,这并不意味着“用空行跟随每个输出”。最后,不要害怕查看他们的论坛。
参考:http://online-judge.uva.es/board/viewtopic.php?t=7429
(在他们的示例代码中,他们逐字节读取输入。不要这样做;使用Scanner代替。也没有必要让main方法创建类的实例。你可以100%静态,而且问题通常很小,以至于OOP不会给你买任何东西。)
答案 3 :(得分:2)
CodingBat可能会给你一些好的练习。它会立即响应测试结果。