📄 guessnum.h
字号:
/*
* 文件名称: GuessNum.h
* 程序描述:
* 常见的小游戏【猜数字】的智能解法:
* 猜数字游戏: 即有四位十进制数字,一般可猜8次
* 每次返回aAbB(A表示数字正确并且位置正确,B表示数字正确但位置不正确)
* 如:假设要猜的数字是1234,如果游戏者猜0134即返回2A1B(3、4为A,1为B)
*
* 算法:每次选取熵最大的数字进行猜测,即:贪心算法
*
* 还有一个程序使用决策树的方法,参见GuessNumAll.cpp
* 另外还有一个程序GuessNumGame.cpp用来模拟猜数字游戏
* 编制日期: 2003-05-28
* 程序作者: realfun
* 联系方式: rzfemail@etang.com
*/
#include <vector>
#include <list>
#include <string>
using namespace std;
class GuessNum
{
public:
GuessNum();
void Guess(void);
void PrintStack(void);
private:
bool ConfirmAB(string first, string second, string ab);
bool GuessNext(void);
int GetABValue(string first, string second);
const static int m_base[5];
string m_lastGuess;
list<string> m_setAll;
list<string> m_setCurr;
vector<string> m_stack;
int m_times;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -