admin管理员组文章数量:1794759
24点游戏 程序(一)
无意间看见这个24点的网站/,于是想起来把程序写写。
考虑到中缀表达式有括号的麻烦,所以打算用后缀表达式处理。
24点用后缀表达式的话,一共4个数字,3个运算符。
假设数字用1表示,运算符用2表示。
那么可能的计算方式就是类似
1111222
1112221
。。。
但是这样随便列举出来的不一定是合法的后缀表达式。
所以第一步,找出合法的包含4个数值,3个运算符的后缀表达式。
代码语言:javascript代码运行次数:0运行复制bool check(int data[])
{
int len = 7;
stack<int> suffix;
for (int i = 0; i < len; i++)
{
if (data[i] == 1)
{
suffix.push(data[i]);
}
else if (data[i] == 2)
{
if (suffix.empty())
return false;
if (suffix.top() == 1)
{
suffix.pop();
if (!suffix.empty() && suffix.top() == 1)
{
//suffix.pop();
}
else
{
return false;
}
}
else
{
return false;
}
}
}
return !suffix.empty() && suffix.top() == 1;
}
代码语言:javascript代码运行次数:0运行复制void checkValidPost()
{
int data[] = {1,1,1,1,2,2,2};
do
{
if (check(data))
{
cout<<data[0]<<" "<<data[1]<<" "<<data[2]<<" "<<data[3]<<" "<<data[4]<<" "<<data[5]<<" "<<data[6]<<" "<<endl;
}
}
while(next_permutation (data,data+7) );
}
结果合法的后缀有5个。
后面将用这5个表达式进行穷举。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-11,如有侵权请联系 cloudcommunity@tencent 删除int程序网站游戏data本文标签: 24点游戏 程序(一)
版权声明:本文标题:24点游戏 程序(一) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754903751a1707998.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论