第一次见到这道题目的时候是大一上学期期末考试,那时候只是听过什么搜索什么的,具体没怎么用过,今天恰好看到这道题目,虽然还是没学算法,但是还是能够用自己的方法理解的。

具体的思想就是:四个数中随机取两个数进行各种运算并保存,(+   -   *   /)

                            再从三个数中随机取两个数进行各种运算并保存,

                            再最后两个数进行各种运算,保存最终的结果,

                            然后进行判断是否是24就可以的;

超级暴力有没有,然后再自己看代码吧。

#include<bits/stdc++.h>
using namespace std;
bool Op(double a[],int n)
{double Next[5];//用来保存下一次运算数据if(n==1&&abs(a[0]-24)<0.00001)//因为是实数,所以不能直接进行判断return true;if(n==1)return false;for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){int t=1;for(int k=0;k<n;k++){if(k!=i&&k!=j)Next[t++]=a[k];//保存没有进行运算的数字}//各种运算都进行一次来搜索,保存在第一个里面,方便判断Next[0]=a[i]+a[j];if(Op(Next,n-1))return true;Next[0]=a[i]-a[j];if(Op(Next,n-1))return true;Next[0]=a[j]-a[i];if(Op(Next,n-1))return true;Next[0]=a[i]*a[j];if(Op(Next,n-1))return true;Next[0]=a[i]/a[j];if(Op(Next,n-1))return true;Next[0]=a[j]/a[i];if(Op(Next,n-1))return true;}}return false;
}
int main()
{while(1){double a[5];int sum=0;for(int i=0;i<4;i++){cin>>a[i];sum+=a[i];}if(sum==0)break;if(Op(a,4))cout<<"YES"<<endl;elsecout<<"NO"<<endl;}return 0;
}

其实事情只是看上去难,不要被自己吓到!总有解决思路和解决方法的,希望不要放弃!!!

NOI 1789:算24相关推荐

  1. 11210怎么等于24_小学二年级的巧算24点.docx

    二年级巧算24 点 1126 11310 1144 1127 1145 1128 1146 1129 1147 11210 1148 1134 1135 1136 1137 1138 1139 114 ...

  2. 速算C语言程序设计,C语言程序设计课程设计-速算24.doc

    该设计论文已经通过各大高校老师审核认可并通过答辩,准确完整无误.欢迎大家下载学习交流.如有疑问可随时联系店主,竭诚为您解答!! 应用技术学院 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 ...

  3. python二十四点_Python秒算24点,行还是不行?

    周末闲来无事,看到隔壁家的老王在和隔壁家的媳妇玩24点,就进屋看了看.发现老王是真不行啊,那不行,这也不行. 就连个24点都玩不过他媳妇,给他媳妇气的,啥都不能满足,这不能,那也不能. 我坐下来和他媳 ...

  4. OpenJudge NOI 1.8 24:蛇形填充数组

    [题目链接] OpenJudge NOI 1.8 24:蛇形填充数组 [题目考点] 1. 二维数组 [解题思路] 解法1:移动焦点 设焦点位置,焦点移动同时为焦点位置赋值.焦点移动规则为: 移动到右上 ...

  5. 信息学奥赛一本通 1076:正常血压 | OpenJudge NOI 1.5 24:正常血压

    [题目链接] ybt 1076:正常血压 OpenJudge NOI 1.5 24:正常血压 [题目考点] 1. 循环统计连续处于某种状态的次数 例: 输入一个由英文数字组成的字符串,求其中最多连续出 ...

  6. 用Python算24点

    小外甥女的课后作业是算24点,看了一下题目,发现都挺难的,像下面这些: 7 7 3 3 8 8 3 3 5 5 5 1 1 5 7 10 2 5 5 10 只能用加减乘除,算出24点. 发现心算不容易 ...

  7. POJ3983 快算24【暴力】

    快算24 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5375   Accepted: 3245 Description ...

  8. Bailian2787 算24【DFS】(POJ NOI0205-1789)

    问题链接:POJ NOI0205-1789 算24. 2787:算24 描述 给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式.现在的问题是,是否存在一种方 ...

  9. HDU1427 速算24点【DFS】

    速算24点 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

最新文章

  1. Material Master
  2. QTP的那些事---通过html标签的属性获取对象(类似onclick的属性)
  3. 解决centos6.5出现-bash: mysql: command not found的方法
  4. grep,sort,uniq 用法例子
  5. python编程入门第一课_python入门前的第一课 python怎样入门
  6. Flask插件---flask_script与flask_migrate
  7. ssh scp不用输入密码
  8. azure 免费帐户注册_如何使用模拟器模拟Azure SQL数据库存储帐户行为
  9. 源码阅读:SDWebImage(五)——SDWebImageFrame
  10. php cookie注销,注销后未设置php cookie
  11. java lambda 变量_java – 从lambda表达式引用的局部变量必须...
  12. CSS基本布局16例
  13. 电赛机器视觉——激光点定位
  14. 所有安卓手机通刷原生系统
  15. 微信小程序 tab点击切换(不滑动)
  16. u盘启动linux出现grub,开机出现grub rescue报错如何解决 通用pe工具箱u盘启动盘制作工具教你...
  17. 结节性硬化症会一直病变吗?结节性硬化最晚多大发病?
  18. 你有哪些独到的识人技巧?
  19. html分列代码,科学网—EXCEL 分列 (TextToColumns) 的C#代码 - 丁祥欢的博文
  20. python执行命令不连接mumu_Appium连接mumu安卓模拟器(真机)自动化测试

热门文章

  1. Linux学习笔记——Nginx安装部署
  2. JavaScript|表格隔行变色(可作模板copy)
  3. ubuntu 复制文件夹到另一目录命令
  4. Pytest注册使用自定义mark标签
  5. jackson 入门
  6. 集成七牛云储存-上传图片Demo
  7. append()的用法
  8. matlab定义双精度型变量_matlab双精度浮点数编码及区间覆盖(原创)
  9. vscode保存自动格式化加逗号解决方法
  10. C++ 11 多线程之future