【OpenJudge 1789】算24(枚举)
来源:互联网 发布:联通3g网络速度 编辑:程序博客网 时间:2024/06/03 13:29
传送门biu~
这题需要神(S)犇(B)的小技巧
我们每次取出两个数,并用加减乘除合并它们
当最后剩下一个数的时候,看看它是不是等于24就可以了(注意精度问题)
#include<bits/stdc++.h>#define DEINF -2147483647using namespace std;bool flag;double a[5];double ys(double x,double y,int num){ if(num==1) return x+y; else if(num==2) return x-y; else if(num==3) return x*y; else if(num==4) return x/y;}void dfs(int x){ sort(a+1,a+5); if(flag) return; if(x==4) { if(abs(a[4]-24)<0.001) flag=1; return; } double b[5];for(int i=1;i<=4;++i)b[i]=a[i]; for(int i=x;i<=4;++i) { for(int j=x;j<=4;++j) { if(i==j) continue; for(int k=1;k<=4;++k) { a[i]=ys(a[i],a[j],k); a[j]=DEINF; dfs(x+1); for(int i=1;i<=4;++i)a[i]=b[i]; } } }}int main(){ while(~scanf("%lf%lf%lf%lf",&a[1],&a[2],&a[3],&a[4]) && a[1]) { flag=0; dfs(1); printf(flag?"YES\n":"NO\n"); } return 0;}
阅读全文
1 0
- 【OpenJudge 1789】算24(枚举)
- OpenJudge- 1789:算24
- OpenJudge百炼-2787-算24-C语言-枚举
- OpenJudge 2787 算24(dfs)
- Openjudge---算24
- POJ 1222 EXTENDED LIGHTS OUT (noi OpenJudge 1813)枚举
- openjudge 2985 数字组合(dfs子集枚举)
- 枚举-OpenJudge-8469-特殊密码锁
- 枚举-OpenJudge-1222-熄灯问题
- [OpenJudge-NOI]算24 Dfs
- Openjudge 2811 熄灯问题 枚举 爆搜
- 【Openjudge, NOI,枚举】1749数字方格
- 【Openjudge, NOI, 枚举】1812完美立方
- 【Openjudge, NOI, 枚举】1813熄灯问题
- OpenJudge 百练 2787 算24
- 【Noi OpenJudge】 算24 解题报告
- 【Openjudge】汉诺塔(递归)
- 【openjudge】小游戏(求助)
- Android学习资源
- 一脸懵逼学习oracle(图形化界面操作---》PLSQL图形化界面)
- 【深入理解JVM】:类加载器与双亲委派模型
- NOIP2014 lgP2312 解方程(秦九韶算法+hash)
- HDOJ HDU 1028 Ignatius and the Princess III
- 【OpenJudge 1789】算24(枚举)
- LightOJ-1015-Brush (I)
- JavaScript 面向对象(二)对象和 JSON 的区别
- node.js的node_modules文件和文件夹中设置入口文件
- 彻底理解ThreadLocal
- 如何成为当下合格的算法工程师?
- python3中可选参数的灵活运用/内置函数与函数的区别
- introduce HDL and give some examples about the Verilog language
- 事务处理后执行耗时线程