VIJOS-P1134 24点游戏 dfs
来源:互联网 发布:网络排错大讲解 编辑:程序博客网 时间:2024/05/29 16:15
Description
几十年前全世界就流行一种数字扑克游戏,至今仍有人乐此不疲.在中国我们把这种游戏称为“算24点”。您作为游戏者将得到4个1-13(在扑克牌里用A代替1,J代替11,Q代替12,K代替13)之间的自然数作为操作数,而您的任务是对这4个操作数进行适当的算术运算,判断运算结果是否等于24。能输出1,不能输出0。
Input
四个牌面值。牌面值与牌面值之间用一个空格隔开。
Output
输出0或1。
Sample Input
3 8 10 Q
Sample Output
1
HINT
Q×(10/(8-3))=24
#include<stdio.h>char s[5];int flag;double ans,a[5];void dfs(int n,double *t){double c[5];if(flag==1)return;if(n==1){if(t[1]>=24-0.0000001&&t[1]<=24+0.0000001){printf("1");flag=1;return;}}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i!=j){double x=t[i],y=t[j];int cnt=1;for(int k=1;k<=n;k++)if(k!=i&&k!=j)c[cnt++]=t[k];ans=x+y;c[cnt]=ans;dfs(n-1,c);ans=x-y;c[cnt]=ans;dfs(n-1,c);ans=x*y;c[cnt]=ans;dfs(n-1,c);if(y!=0.0) {ans=x/y;c[cnt]=ans;dfs(n-1,c);}}}}}int main(){for(int i=1;i<=4;i++){scanf("%s",s);if(s[1]=='0')a[i]=10;else if(s[0]=='J')a[i]=11;else if(s[0]=='Q')a[i]=12;else if(s[0]=='K')a[i]=13;else if(s[0]=='A')a[i]=1;else a[i]=s[0]-'0';}dfs(4,a);if(flag==0)printf("0");}
阅读全文
1 0
- VIJOS-P1134 24点游戏 dfs
- VIJOS-P1134 24点游戏
- vijos P1134 算24点 题解
- vijos P1134 矩形覆盖 题解
- UESTC 1252 24点游戏 DFS
- UESTC--1252--24点游戏(dfs)
- dfs(vijos113424点游戏)
- [ACdream]哗啦啦族的24点游戏[dfs][暴力][精度]
- 哗啦啦族的24点游戏(DFS)
- UESTC - 1252 24点游戏 (DFS)好题
- 24点 - DFS
- DFS-速算24点
- ACDREAM 05C 哗啦啦族的24点游戏(DFS专场)
- hdu1427 24点游戏 (DFS)ps:AC了最开心的一道题
- 积木游戏 vijos
- VIJOS 1779 国王游戏
- vijos P1779 国王游戏
- vijos P1485 传球游戏
- 一个简单的loading
- SQL实战练习【1】
- SSL_1463--公共子串(动规练习题)
- superior drummer 3破解教程
- 数据结构实验之查找七:线性之哈希表
- VIJOS-P1134 24点游戏 dfs
- Spark RDD、DataFrame和DataSet的区别
- C#调用存储过程和函数
- final关键字使用
- 根据py-faster-rcnn的demo.py修改成c++版本
- JDBC 数据库连接
- Space Filter
- C++数据序列化之MessagePack
- Android开发值JNI函数动态注册