华为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; 快手实时计算…

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…

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

作者 | 七十一来源 | 程序员巴士前言什么是快速失败&#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…

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

简介&#xff1a; 2021年8月&#xff0c;阿里云边缘云CDN完成过去3年来最大的一次版本升级。 2021年8月&#xff0c;阿里云边缘云CDN完成过去3年来最大的一次版本升级。本次升级根据上万企业客户的使用反馈和行业应用特征&#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;…

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

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

Aruba与中国电信国际有限公司达成战略合作 助力中国企业扬帆出海

2022年1月12日&#xff0c;慧与科技公司 (NYSE: HPE) 旗下Aruba日前宣布&#xff0c;与中国电信国际有限公司&#xff08;CTG&#xff09;签署MSP&#xff08;托管服务运营商&#xff09;战略合作伙伴协议&#xff0c;Aruba的产品将纳入中国电信国际有限公司的主营产品线。协议…

模仿Spring实现一个类管理容器

简介&#xff1a; 项目的初衷是独立作出一个成熟的有特色的IOC容器,但由于过程参考Spring太多,而且也无法作出太多改进,于是目的变为以此项目作为理解Spring的一个跳板,与网上的一些模仿Spring的框架不同,本项目主要是针对注解形式 概述 项目的初衷是独立作出一个成熟的有特色…

湖仓一体化的路,很多人都只走了一半

2022已至&#xff0c;如果回看2021&#xff0c;这一年无疑是数据的价值进一步体现的一年。数据应用场景不断丰富&#xff0c;从工业、交通、金融到制造&#xff0c;几乎无处不在。当然&#xff0c;数据价值的迅速提升也给开发者和相关企业带来了新的问题。数据量的爆发让存储成…

学术顶会再突破!计算平台MaxCompute论文入选国际顶会VLDB 2021

简介&#xff1a; VLDB 2021上&#xff0c;阿里云计算平台MaxCompute参与的论文入选&#xff0c;核心分布式调度执行引擎Fangorn、基于TVR Cost模型的通用增量计算优化器框架Tempura等分别被Industry Track、Research Track录取。 一、顶会概览 VLDB 2021上&#xff0c;阿里云…

技术干货 | 应用性能提升 70%,探究 mPaaS 全链路压测的实现原理和实施路径

简介&#xff1a; 全链路压测方案下&#xff0c;非加密场景下至少有 70% 的性能提升&#xff0c;加密场景下 10%的性能提升&#xff0c;并在 MGS 扩容完成后可实现大幅的性能提升&#xff0c;调优的结果远超预期。 业务背景 随着移动开发行业的步入存量时代&#xff0c;App 整…

投稿指南 | 云计算领域最前沿资讯、技术,期待您的专业解读!

我们是谁&#xff1f;CSDN云计算是CSDN旗下官方账号&#xff0c;提供云计算、大数据、虚拟化、数据中心、OpenStack、CloudStack、机器学习、智能算法等相关云计算观点、云计算技术、云计算平台、云计算实践、云计算产业咨询等服务。内容平台方面&#xff0c;我们的目标读者主要…

DataWorks 功能实践速览03期 — 生产开发环境隔离

简介&#xff1a; DataWorks功能实践系列&#xff0c;帮助您解析业务实现过程中的痛点&#xff0c;提高业务功能使用效率&#xff01; 往期回顾&#xff1a; DataWorks 功能实践速览01期——数据同步解决方案&#xff1a;为您介绍不同场景下可选的数据同步方案。DataWorks 功…

鸿蒙手表esim,鸿蒙手表终于来了!或将支持 eSIM,实现独立通话

原标题&#xff1a;鸿蒙手表终于来了&#xff01;或将支持 eSIM&#xff0c;实现独立通话根据此前的爆料消息&#xff0c;华为将于 6 月份带来与鸿蒙相关的产品发布会&#xff0c;备受瞩目的平板、手表等新品也将亮相。临近产品发布&#xff0c;华为官方也开始了新品的预热。今…