NOI 1789:算24
第一次见到这道题目的时候是大一上学期期末考试,那时候只是听过什么搜索什么的,具体没怎么用过,今天恰好看到这道题目,虽然还是没学算法,但是还是能够用自己的方法理解的。
具体的思想就是:四个数中随机取两个数进行各种运算并保存,(+ - * /)
再从三个数中随机取两个数进行各种运算并保存,
再最后两个数进行各种运算,保存最终的结果,
然后进行判断是否是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相关推荐
- 11210怎么等于24_小学二年级的巧算24点.docx
二年级巧算24 点 1126 11310 1144 1127 1145 1128 1146 1129 1147 11210 1148 1134 1135 1136 1137 1138 1139 114 ...
- 速算C语言程序设计,C语言程序设计课程设计-速算24.doc
该设计论文已经通过各大高校老师审核认可并通过答辩,准确完整无误.欢迎大家下载学习交流.如有疑问可随时联系店主,竭诚为您解答!! 应用技术学院 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 ...
- python二十四点_Python秒算24点,行还是不行?
周末闲来无事,看到隔壁家的老王在和隔壁家的媳妇玩24点,就进屋看了看.发现老王是真不行啊,那不行,这也不行. 就连个24点都玩不过他媳妇,给他媳妇气的,啥都不能满足,这不能,那也不能. 我坐下来和他媳 ...
- OpenJudge NOI 1.8 24:蛇形填充数组
[题目链接] OpenJudge NOI 1.8 24:蛇形填充数组 [题目考点] 1. 二维数组 [解题思路] 解法1:移动焦点 设焦点位置,焦点移动同时为焦点位置赋值.焦点移动规则为: 移动到右上 ...
- 信息学奥赛一本通 1076:正常血压 | OpenJudge NOI 1.5 24:正常血压
[题目链接] ybt 1076:正常血压 OpenJudge NOI 1.5 24:正常血压 [题目考点] 1. 循环统计连续处于某种状态的次数 例: 输入一个由英文数字组成的字符串,求其中最多连续出 ...
- 用Python算24点
小外甥女的课后作业是算24点,看了一下题目,发现都挺难的,像下面这些: 7 7 3 3 8 8 3 3 5 5 5 1 1 5 7 10 2 5 5 10 只能用加减乘除,算出24点. 发现心算不容易 ...
- POJ3983 快算24【暴力】
快算24 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5375 Accepted: 3245 Description ...
- Bailian2787 算24【DFS】(POJ NOI0205-1789)
问题链接:POJ NOI0205-1789 算24. 2787:算24 描述 给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式.现在的问题是,是否存在一种方 ...
- HDU1427 速算24点【DFS】
速算24点 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
最新文章
- Material Master
- QTP的那些事---通过html标签的属性获取对象(类似onclick的属性)
- 解决centos6.5出现-bash: mysql: command not found的方法
- grep,sort,uniq 用法例子
- python编程入门第一课_python入门前的第一课 python怎样入门
- Flask插件---flask_script与flask_migrate
- ssh scp不用输入密码
- azure 免费帐户注册_如何使用模拟器模拟Azure SQL数据库存储帐户行为
- 源码阅读:SDWebImage(五)——SDWebImageFrame
- php cookie注销,注销后未设置php cookie
- java lambda 变量_java – 从lambda表达式引用的局部变量必须...
- CSS基本布局16例
- 电赛机器视觉——激光点定位
- 所有安卓手机通刷原生系统
- 微信小程序 tab点击切换(不滑动)
- u盘启动linux出现grub,开机出现grub rescue报错如何解决 通用pe工具箱u盘启动盘制作工具教你...
- 结节性硬化症会一直病变吗?结节性硬化最晚多大发病?
- 你有哪些独到的识人技巧?
- html分列代码,科学网—EXCEL 分列 (TextToColumns) 的C#代码 - 丁祥欢的博文
- python执行命令不连接mumu_Appium连接mumu安卓模拟器(真机)自动化测试