主题:致歉,关于第56次编程比赛
实在对不起大家,因为毕业离校,网络不通,加上马上要工作了,琐碎的事情也不少。这次比赛的结果迟迟没有公布,在这里向大家道歉了。
我现在在网吧给iAkiak测了一下,从0123到9876,每个数字都能在七次内正确猜出。不过运行效率稍低,我运行了接近一个小时才把数千个数字全部验证完。
关于其他几位参赛者的情况。
yuanhongqian123:看来你并没有弄清楚题目的意思。题目是要你的程序来猜数字,不是让用户输入数字。
逆行行:也没有弄清题目的意思。而且接口也被修改掉了。
htqx:你帖代码的时间晚了点~ 并且直接使用rand函数,似乎猜中的几率太低了。你可以参考一下后面我的思路。
因此,这里选择[color=FF0000]iAkiak作为比赛的冠军[/color]。
我叙述一下我的思路:
首先,所有的数字都有可能。在这些可能的数字中,选择一个来“猜”,然后会得到几A几B的结果。根据这个结果,判断出某些数字其实是不可能的,将它们删除。在剩下的可能数字中再选择一个来“猜”,直到猜中或者次数用尽为止。
iAkiak的程序比我的要复杂的多,速度也慢了上百倍,从实际效果上看,分数也比我的略高,但大体的思路也是一样的。但是iAkiak的程序中,保存“可能的数”时使用了vector,并且利用push_back和pop_back来操作,这可能是效率低下的原因。我的做法是使用一个bool数组来保存每一个数是否可能,这样快了不少。
最近确实上网的机会太少,过两天还要坐40个小时的火车去到工作的地方。等不那么忙了,我会再来的。到时候也会放出新一课的OpenGL入门教程。
看到飞燕选为了斑竹,在这里祝贺一下。
我现在在网吧给iAkiak测了一下,从0123到9876,每个数字都能在七次内正确猜出。不过运行效率稍低,我运行了接近一个小时才把数千个数字全部验证完。
关于其他几位参赛者的情况。
yuanhongqian123:看来你并没有弄清楚题目的意思。题目是要你的程序来猜数字,不是让用户输入数字。
逆行行:也没有弄清题目的意思。而且接口也被修改掉了。
htqx:你帖代码的时间晚了点~ 并且直接使用rand函数,似乎猜中的几率太低了。你可以参考一下后面我的思路。
因此,这里选择[color=FF0000]iAkiak作为比赛的冠军[/color]。
我叙述一下我的思路:
首先,所有的数字都有可能。在这些可能的数字中,选择一个来“猜”,然后会得到几A几B的结果。根据这个结果,判断出某些数字其实是不可能的,将它们删除。在剩下的可能数字中再选择一个来“猜”,直到猜中或者次数用尽为止。
iAkiak的程序比我的要复杂的多,速度也慢了上百倍,从实际效果上看,分数也比我的略高,但大体的思路也是一样的。但是iAkiak的程序中,保存“可能的数”时使用了vector,并且利用push_back和pop_back来操作,这可能是效率低下的原因。我的做法是使用一个bool数组来保存每一个数是否可能,这样快了不少。
最近确实上网的机会太少,过两天还要坐40个小时的火车去到工作的地方。等不那么忙了,我会再来的。到时候也会放出新一课的OpenGL入门教程。
看到飞燕选为了斑竹,在这里祝贺一下。

您所在位置:

