(BFS 多个数通过运算符查找是否等于某一个固定的值)
来源:互联网 发布:mmd 动作数据 r 18 编辑:程序博客网 时间:2024/06/10 19:49
如果最后的运算结果可以等于23,输出Yes,不能的话输出No1 1 1 1 11 2 3 4 52 3 5 7 11
示例输出
NoYesYes比赛的时候弱都没看出用BFS,看的提交的人数也不多,就没有再审题。。。- -!赛后知道了用BFS,但写的时候也遇到了困难,刚开始的时候直接先传进去了per[0],但是感觉不对,总是第一个数和其他的数进行,运算并且,标记的话也是,有问题的。问了同学才知道,要,每个数和其他的未标记的数进行运算。并且将,计算完的数进行标记。#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cmath>#include<math.h>#include<queue>#define LL long long#define inf 0x3f3f3f3fusing namespace std;int per[6];bool vis[6];struct node{ int sum,z; bool vis[6];};bool bfs(int pos){ queue<node>q; while(!q.empty()) q.pop(); node f1,f2; f1.z=1; f1.sum=per[pos]; for(int i=0;i<5;i++) f1.vis[i]=false; f1.vis[pos]=true; q.push(f1); while(!q.empty()) { f1=q.front(); q.pop(); if(f1.sum==23&&f1.z==5)//注意所有的数必须都用到 { return true; } int i,j; for(i=0;i<5;i++) { for(j=0;j<3;j++) { f2=f1; if(!f2.vis[i]) { if(j==0) { f2.sum+=per[i]; f2.z++; f2.vis[i]=true; q.push(f2); } else if(j==1) { f2.sum-=per[i]; f2.vis[i]=true; f2.z++; q.push(f2); } else { f2.sum*=per[i]; f2.vis[i]=true; f2.z++; q.push(f2); } } } } } return false;}int main(){ int n,m,i,j,k; while(~scanf("%d",&per[0])) { bool bj=false; for(i=1;i<5;i++) scanf("%d",&per[i]); for(i=0;i<5;i++) { bool p=bfs(i); if(p) { bj=true; break; } } if(bj) printf("Yes\n"); else printf("No\n"); } return 0;}
0 0
- (BFS 多个数通过运算符查找是否等于某一个固定的值)
- 面试题:检查一个数组里是否存在m个数的和等于某个值
- leetcode路径的和是否等于某一个数
- 找数达人(n个数的和等于一个定值)
- 在一组数字中是否有n个数,使得这n个数的和等于一给定的定值m
- 关于判断某一个整型值内的1的个数
- 算法:php求几个数字之和刚好大于或等于某一个给定的值
- 关于一个查找数组中是否存在某一个元素的问题
- 从多个数中取出之和等于定值的组合
- sql统计某一字段等于不同值的个数
- 异或运算及其应用-查找奇数个数的数字
- 查找二叉树中和为某一个值的路径
- 查找字符串中是否有中文以及中文的个数
- 如何高效的检测一个数组是否包含某一个值
- 给定一个数组,从中查找是否存在两个数的和等于一个给定的x
- 求数组中多个数相加等于某一值
- python程序2(递归查找某一个文件夹下所有的文件是否含有某个特定的字符串,并打印该文件名)
- 查找手中的牌是否能利用+,-,*,/等于目标牌数。
- 关于tomcat出现闪退问题
- Android打包app报错
- SDUT 3300 完美字符串
- C++程序的运行顺序
- U-boot
- (BFS 多个数通过运算符查找是否等于某一个固定的值)
- 打开一个记事本,然后模拟键盘输入
- iOS开发 网络请求——HTTP协议
- 浅谈 Objective-C 指针和 Swift2
- 自定义数据库同步程序
- Jpa规范中persistence.xml 配置文件解析
- USB Type-C
- SDUT-3303-来发背包开开胃
- 48.iOS动画和理解position与anchorPoint