华为oj题目c语言,华为OJ机试题目——24点游戏算法

0818b9ca8b590ca3270a3433284dd417.png

对于这种题用程序实现只能是穷举的思想,而做法各异,如下代码是利用符号的不断变化,利用4个数计算值,默认是4个数字a,b,c,d是按顺序计算的,即默认是加了括号的,即(((a op1 b)op2 c)op3 d)。而4个数字要组合顺序有A(4,4)=24种,很好理解,代码放在这里存档~

#include

using namespace std;

/*

(((aop[i]b)op[j]c)op[k]d)

*/

static char op[]={'+','-','*','/'};

int cal(int a,int b,int c,int d,int i,int j,int k)

{

int sum=0;

if(i==0)sum=a+b;

else if(i==1)sum=a-b;

else if(i==2)sum=a*b;

else if(i==3)sum=a/b;

if(j==0)sum=sum+c;

else if(j==1)sum-=c;

else if(j==2)sum*=c;

else if(j==3)sum/=c;

if(k==0)sum+=d;

else if(k==1)sum-=d;

else if(k==2)sum*=d;

else if(k==3)sum/=d;

return sum;

}

bool Game24Points(int a, int b, int c, int d)

{

int i,j,k;

for(i=0;i<4;i++)

for(j=0;j<4;j++)

for(k=0;k<4;k++)

{

if(cal(a,b,c,d,i,j,k)==24) return true;

if(cal(a,b,d,c,i,j,k)==24)return true;

if(cal(a,c,b,d,i,j,k)==24)return true;

if(cal(a,c,d,b,i,j,k)==24)return true;

if(cal(a,d,b,c,i,j,k)==24)return true;

if(cal(a,d,c,b,i,j,k)==24)return true;

if(cal(b,a,c,d,i,j,k)==24)return true;

if(cal(b,a,d,c,i,j,k)==24)return true;

if(cal(b,c,a,d,i,j,k)==24)return true;

if(cal(b,c,d,a,i,j,k)==24)return true;

if(cal(b,d,a,c,i,j,k)==24)return true;

if(cal(b,d,c,a,i,j,k)==24)return true;

if(cal(c,a,b,d,i,j,k)==24)return true;

if(cal(c,a,d,b,i,j,k)==24)return true;

if(cal(c,b,a,d,i,j,k)==24)return true;

if(cal(c,b,d,a,i,j,k)==24)return true;

if(cal(c,d,a,b,i,j,k)==24)return true;

if(cal(c,d,b,a,i,j,k)==24)return true;

if(cal(d,a,b,c,i,j,k)==24)return true;

if(cal(d,a,c,b,i,j,k)==24)return true;

if(cal(d,b,a,c,i,j,k)==24)return true;

if(cal(d,b,c,a,i,j,k)==24)return true;

if(cal(d,c,a,b,i,j,k)==24)return true;

if(cal(d,c,b,a,i,j,k)==24)return true;

}

return false;

}

int main()

{

if(Game24Points(7, 2, 1, 10) == true) cout<

if(Game24Points(1, 2, 3, 4) == true)cout<

if(Game24Points(7, 7, 7, 7) == false)cout<

return 0;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

性能提升一个数量级,大杀器来了!| 文内福利

经过多年的演进&#xff0c;Java语言的功能和性能都在不断地发展和提高&#xff0c;但是冷启动开销较大的问题长期存在&#xff0c;难以从根本上解决。本文先讨论冷启动问题的根本原因&#xff0c;然后介绍一种新近提出的彻底解决Java冷启动问题的技术方案——Java静态编译技术…

快手基于 Flink 构建实时数仓场景化实践

简介&#xff1a; 一文了解快手基于 Flink 构建的实时数仓架构&#xff0c;以及一些难题的解决方案。 本文整理自快手数据技术专家李天朔在 5 月 22 日北京站 Flink Meetup 分享的议题《快手基于 Flink 构建实时数仓场景化实践》&#xff0c;内容包括&#xff1a; 快手实时计算…

centos标准分区调整大小_CentOS下调整home和根分区大小的方法

目标&#xff1a;将VolGroup-lv_home缩小到100G&#xff0c;并将剩余的空间添加给VolGroup-lv_root1、首先查看磁盘使用情况[root~]# df -h文件系统              容量 已用 可用 已用% 挂载点Filesystem            Size Used Avail Use% M…

PyFlink 开发环境利器:Zeppelin Notebook

简介&#xff1a; 在 Zeppelin notebook 里利用 Conda 来创建 Python env 自动部署到 Yarn 集群中。 PyFlink 作为 Flink 的 Python 语言入口&#xff0c;其 Python 语言的确很简单易学&#xff0c;但是 PyFlink 的开发环境却不容易搭建&#xff0c;稍有不慎&#xff0c;PyFlin…

Android自动化打包工具,利用Jenkins实现Android自动化打包

Jenkins简介What is Jenkins?Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.Jenkins can be installed through native system packag…

python实训总结万能版3000字_实训总结万能版2000字范文五篇

实训总结万能版2000字范文篇一一、实训目的&#xff1a;通过这次人力资源管理模拟实训&#xff0c;让我们掌握职务说明书格式、编制应聘登记表、制定招聘程序、编写招聘广告、编制面试评估表、制定招聘计划书等人力资源管理的一些相关理论知识&#xff0c;弄清楚其中的关系连接…

为什么简单的删除集合中的元素竟然报错了?

作者 | 七十一来源 | 程序员巴士前言什么是快速失败&#xff1a;fail-fast 机制是java集合(Collection)中的一种错误机制。它只能被用来检测错误&#xff0c;因为JDK并不保证fail-fast机制一定会发生。当多个线程对同一个集合的内容进行操作时&#xff0c;就可能会产生fail-fas…

一文详解Redis中BigKey、HotKey的发现与处理

简介&#xff1a; 在Redis的使用过程中&#xff0c;我们经常会遇到BigKey&#xff08;下文将其称为“大key”&#xff09;及HotKey&#xff08;下文将其称为“热key”&#xff09;。大Key与热Key如果未能及时发现并进行处理&#xff0c;很可能会使服务性能下降、用户体验变差&a…

android动画文档,Android 动画系统汇总

Android动画系统的种类&#xff1a;1. 属性动画 (Property Animation)2. 补间动画 (Tween Animation)3. 帧动画 (Frame Animation)4. Drawable属性动画(Property Animation)&#xff1a;可以改变控件对象属性的对象&#xff0c;譬如控件的位置&#xff0c;透明度&#xff0…

阿里云CDN操控2.0版本正式发布

简介&#xff1a; 2021年8月&#xff0c;阿里云边缘云CDN完成过去3年来最大的一次版本升级。 2021年8月&#xff0c;阿里云边缘云CDN完成过去3年来最大的一次版本升级。本次升级根据上万企业客户的使用反馈和行业应用特征&#xff0c;从简单开通到个性化定制&#xff0c;从内容…

用python怎么样实现图像二值化_使用Python+OpenCV如何实现图像二值化

使用PythonOpenCV如何实现图像二值化发布时间&#xff1a;2020-10-26 14:15:52来源&#xff1a;亿速云阅读&#xff1a;77作者&#xff1a;蛋片鸡这篇文章运用简单易懂的例子给大家介绍使用PythonOpenCV如何实现图像二值化&#xff0c;内容非常详细&#xff0c;感兴趣的小伙伴们…

向xxxhub发了一个数据包,发现了···

作者 | 轩辕之风来源 | 编程技术宇宙那天&#xff0c;我突然想到一个问题&#xff1a;当我访问那个让万千宅男程序员为之着迷的GitHub时&#xff0c;我电脑发出的数据包是如何抵达大洋彼岸的GitHub服务器的呢&#xff0c;这中间又要经过哪些节点呢&#xff1f;让我们一起来探究…

使用 Flink Hudi 构建流式数据湖

简介&#xff1a; 本文介绍了 Flink Hudi 通过流计算对原有基于 mini-batch 的增量计算模型的不断优化演进。 本文介绍了 Flink Hudi 通过流计算对原有基于 mini-batch 的增量计算模型不断优化演进。用户可以通过 Flink SQL 将 CDC 数据实时写入 Hudi 存储&#xff0c;且在即将…

android获取版本号报错,Android开发:获取安卓App版本号的方法步骤

在Android开发过程中&#xff0c;想要开发一个完整功能的App&#xff0c;各个地方的内容都要涉及到&#xff0c;比如获取App的系统版本号就是必须要有的功能。Android的App版本号相关内容比iOS的App版本号内容要多&#xff0c;而且iOS版的App版本信息跟Android的还不一样。本篇…

运营也用的起来的数据分析工具:Quick BI即席分析详解

简介&#xff1a; 数据部门是一个容易被投诉的“高危”部门&#xff0c;需求响应慢、数据准确性不高会影响业务的发展。 然而数据分析师每周动辄就有几十个需求在手&#xff0c;无限的加班也无法解决所有问题&#xff0c;到底怎样才能改变BI分析师的需求响应问题呢&#xff1f;…

腾讯云连续四年排名中国音视频解决市场第一,头部厂商中RTC增速第一

1月11日&#xff0c;记者了解到&#xff0c;国际数据公司&#xff08;IDC&#xff09;发布的《中国视频云市场跟踪(2021上半年)》(下简称“报告”)显示&#xff0c;2021上半年中国视频云市场规模达到43.7亿美元&#xff0c;同比增长达到38.7%。其中&#xff0c;音视频解决方案市…

iphone版 天行skyline_SkyLine

1、创建私钥openssl dsaparam -out dsaparam.pem 2048; openssl gendsa-out privkey.pem dsaparam.pem​2、创建证书请求文件csr(根据提示填内容)openssl req -new -key privkey.pem -out cert.csr3、创建证书​openssl req -new -x509 -key privkey.pem -out cacert.pem-days …

【产品动态】解读Dataphin流批一体的实时研发

简介&#xff1a; Dataphin作为一款企业级智能数据构建与管理产品&#xff0c;具备全链路实时研发能力&#xff0c;从2019年开始就支撑可集团天猫双11的实时计算需求&#xff0c;文章将详细介绍Dataphin实时计算的能力。 背景 每当双11全球购物狂欢节钟声响起&#xff0c;上千…

android实现10ms定时器,Android三种实现定时器的方法

方法一、使用Handler和Thread(线程)实现定时器package com.xunfang.handerDemo;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.TextView;public class HanderDemoActivity extends Activi…

springboot设置默认值_spring boot jpa存储数据的默认值为java的默认值

问题描述使用jpa的save方法保存数据后返回的实体类为java数据类型的默认值问题出现的环境背景及自己尝试过哪些方法环境背景: 用户新增功能,调用新增接口后根据返回对象的id去查询等级表的等级.尝试方法:最开始返回的是null,但是数据库的字段默认值设置的是1,后来实体类加上Dyn…