非常可乐:
大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以相互倒可乐 (都是没有刻度的,且 S==N+M,101>S>0,N>0,M>0) 。聪明的ACMER你们说他们能平分吗?如果能请输出倒可乐的最少的次数,如果不能输出"NO"。

Input

三个整数 : S 可乐的体积 , N 和 M是两个杯子的容量,以"0 0 0"结束。

Output

如果能平分的话请输出最少要倒的次数,否则输出"NO"。

Sample Input

7 4 3
4 1 3
0 0 0

Sample Output

NO
3

规律:

import java.util.Scanner;
import java.util.Arrays;
public class Hello {static Scanner sc = new Scanner(System.in);static int total,n,m;static int gcd(int n,int m) {if(m == 0 )return n;else return gcd(m, n % m);}public static void main(String[] args) {while(sc.hasNext()){total = sc.nextInt();n = sc.nextInt();m = sc.nextInt();if(total == 0 && n == 0 && m == 0)System.exit(0);total = total / gcd(n,m);if(total % 2 == 1) System.out.println("NO");else System.out.println(total - 1);}}
}
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
int b[3],half;
int book[102][102][102];
struct node
{int cur[3];int s;
};
void BFS()
{queue<node>qu;node tmp;tmp.cur[0]=b[0];tmp.cur[1]=tmp.cur[2]=tmp.s=0;qu.push(tmp);while(qu.empty()==0){node yy=qu.front();qu.pop();for(int i=0;i<3;i++){if(yy.cur[i]>0){for(int j=0;j<3;j++){if(i==j)continue;tmp=yy;if(tmp.cur[i]>=(b[j]-tmp.cur[j])){tmp.cur[i]=tmp.cur[i]-(b[j]-tmp.cur[j]);tmp.cur[j]=b[j];}else {tmp.cur[j]=tmp.cur[i]+tmp.cur[j];tmp.cur[i]=0;} if(book[tmp.cur[0]][tmp.cur[1]][tmp.cur[2]]==1)continue;else {if(tmp.cur[0]==half&&tmp.cur[1]==half||tmp.cur[0]==half&&tmp.cur[2]==half||tmp.cur[2]==half&&tmp.cur[1]==half){printf("%d\n",yy.s+1);return;}       book[tmp.cur[0]][tmp.cur[1]][tmp.cur[2]]=1;tmp.s=yy.s+1;qu.push(tmp);}}        }}  }printf("NO\n");return;
}
int main()
{while(scanf("%d%d%d",&b[0],&b[1],&b[2])!=EOF){if(b[0]==0&&b[1]==0&&b[2]==0)break;if(b[0]%2==1){printf("NO\n");continue;}  memset(book,0,sizeof(book));book[b[0]][b[1]][b[2]]=1;half=b[0]/2;BFS();}return 0;
}

非常可乐(广度搜索)相关推荐

  1. 二叉树的前序中序后序递归查找,深度,广度搜索C++实现(VS2017)

    一.图和运行结果如下 二.代码如下: #include<iostream> #include<string> #include<fstream> #include& ...

  2. 深度搜索问题c语言,C语言实现的图的深度搜索与广度搜索程序.doc

    C语言实现的图的深度搜索与广度搜索程序 C语言实现的图的深度搜索与广度搜索程序 /* 上机试验5-图的建立和遍历 1)建立[无向][非连通]图的邻接表存储结构,要求顶点个数不少于15个. 2)用DFS ...

  3. 地图分析--广度搜索

    问题来源:地图分析 问题描述:你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了.其中 0 代表海洋,1 代表陆地,你知道距离陆地 ...

  4. 【算法】深度搜索(DFS) 和 广度搜索(BFS)

    深度搜索(DFS) 点:然后退回到该顶点,搜索其它路径,直到以该顶点为始点的所有路径的顶点都被访问,深度搜索算法是递归算法,因为对于没一个节点来说,执行的是同样的操作.  简单来说,深度搜素算法就是一 ...

  5. 深度搜索(DFS)和广度搜索(BFS)

    深度搜索(DFS) 一.搜索方法:  沿出发顶点的第一条路径尽量深入,遍历路径上所有顶点:然后退回到该顶点,搜索其它路径,直到以该顶点为始点的所有路径的顶点都被访问,深度搜索算法是递归算法,因为对于没 ...

  6. 【数据结构】无向图的遍历(广度搜索和深度搜索)

    说明 以邻接表作为存储结构 以用户指定的结点分别进行广度搜索和深度搜索 相应的生成树的边集 运行截图 源代码 import java.util.*;public class AdjacencyList ...

  7. 深度搜索和广度搜索特点的深刻理解

    问题提出: 考虑如下图所示的简单图所表示的缅因州的道路系统.在冬天里保持道路通路通畅的唯一方式就是经常扫雪.高速公路部分希望只扫尽可能少的道路上的雪,而确保总是存在连接任何两个乡镇的干净道路.如何才能 ...

  8. 人、狼、羊、白菜过河问题(广度搜索)

    人.狼.羊.白菜过河问题(广度搜索) 大家好,我是小白莲,今天小白莲给大家分享的是广度搜索的应用之人.狼.羊.白菜过河问题,相信大家在小时候都听过这个有趣的思考题,没听过也没关系,大概是这样的: 初始 ...

  9. 广度搜索与深度搜索的区别

    广度搜索(Breadth-First Search,BFS)是一种基于图的遍历算法,它按照广度优先的方式遍历图中的所有节点.具体来说,该算法从起点开始向外扩展,先遍历起点所有直接相邻的节点,然后再遍历 ...

  10. 【人工智能】八数码问题:广度搜索、深度搜索

    应用广度搜索BFS和深度搜索DFS解决八数码问题,广度搜索和深度搜索都是盲目搜索,相关理论知识,算法过程:问题求解:状态空间图和盲目搜索. 参考:7种方法求解八数码问题 Python实现A*算法解决N ...

最新文章

  1. 在Ubuntu 16.04.1 LTS上测试Linux AIO功能实录
  2. 数据蒋堂 | 文件的性能分析
  3. 用 C 语言开发一门编程语言 — 交互式解释器
  4. Navicat连接mysql数据库
  5. python preference界面设置_Python preferences
  6. 八皇后问题 递归求解法
  7. 解剖C语言---数据类型转换与数据运算集锦
  8. Java数据持久层框架
  9. 版式设计——网页排版
  10. python 使用GDAL实现栅格tif转矢量shp
  11. jQuery的$.ajax()访问json文件【亲测有效】
  12. Linux第一次月考小总结
  13. 14 POJ3363 Annoying painting tool
  14. 唐玄奘:不要因为走得太远,而忘了为什么出发
  15. Java连rabbitMQ 报错 An unexpected connection driver error occured
  16. ~scanf的意思、作用
  17. Babel学习之基础学习
  18. 理解英飞凌MOSFET器件的数据手册
  19. 2018ccpc吉林 C:JUSTICE
  20. 成都低价卖书-java uml 架构设计等方面

热门文章

  1. 房价增幅或于年底见顶
  2. java多线程生产消费者_JAVA多线程实现生产者消费者的实例详解
  3. mysql bing logo_mysqlbing log
  4. spring catch了异常还是回滚了_干货:Spring 踩坑之@Transactional 神奇失效
  5. Weblogic 连接池的建立程序应用
  6. hashmap什么时候由链表转为红黑树
  7. 《深度学习-改善深层神经网络》-第二周-优化算法-Andrew Ng
  8. 防火防盗竟防不了网络攻击 智能摄像机的网络安全怎么办?
  9. 超赞!UX写手必备技能
  10. python把字典转换成json字符串