题解 | #24点游戏算法#

24点游戏算法

http://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb

参考了别人的


/*HJ6724点游戏算法
dfs递归求解
*/
#include<iostream>
#include<vector>
using namespace std;
int dfs(vector<double>n,double result)
{
    if(n.empty()) 
    {
        if(result==24)return 1;
        else return 0;
    }
	else 
    {
        for(int i=0;i<n.size();i++)
        {    	
    	   vector<double>a(n);
    	   a.erase(a.begin()+i);
    	   if(dfs(a,result+n[i])||dfs(a,result-n[i])||dfs(a,result*n[i])||dfs(a,result/n[i]))
    	   return 1;
	     }
        return 0;
    }    
}
int main()
{
    vector<double>n(4);
    for(int i=0;i<4;i++)
        cin>>n[i];
    if(dfs(n,0)) cout<<"true"<<endl;
    else cout<<"false"<<endl;
}


全部评论
插眼
点赞 回复 分享
发布于 2023-06-29 14:09 安徽

相关推荐

评论
3
1
分享

创作者周榜

更多
牛客网
牛客企业服务