非常可乐原题链接

题目描述:
思路:
当可乐总量为奇数时,不可能均分,直接输出结果;将i被子倒入j杯中时,分两种情况,一种是能倒完,一种还有剩余

AC代码:

#include <iostream>
#include <queue>
#include <string.h>
using namespace std;int N,M,S;
struct node
{int num[3];int steps;//次数
}now,nex;int vis[101][101][101];
int rq[3];//最大容量bool check(node x)//检查
{if((x.num[0] == x.num[1] && x.num[2] == 0 )||(x.num[0] == x.num[2] && x.num[1] == 0)||(x.num[1] == x.num[2] && x.num[0] == 0)){return true;}else return false;
}void bfs()
{queue<node> Q;memset(vis,0,sizeof(vis));now.num[0] = S;now.num[1] = 0;now.num[2] = 0;vis[S][0][0] = 1;//记录当前的情况已经访问了now.steps = 0;//记录次数Q.push(now);while(!Q.empty()){now = Q.front();Q.pop();if(check(now)){printf("%d\n",now.steps);return;}for(int i = 0; i < 3; i++){for(int j = 0; j < 3; j++){if(i == j)  continue;if(now.num[i] <= rq[j] - now.num[j])//能倒完{nex.num[j] = now.num[j] + now.num[i];nex.num[i] = 0;}else//不能倒完{nex.num[i] = now.num[i] - (rq[j] - now.num[j]);nex.num[j] = rq[j];}//另外一个不变for(int k = 0; k < 3; k++){if(k == i || k == j){continue;}nex.num[k] = now.num[k];}//步数加一,注意别写成now.steps++!!!nex.steps = now.steps + 1;if(vis[nex.num[0]][nex.num[1]][nex.num[2]]==0){vis[nex.num[0]][nex.num[1]][nex.num[2]]=1;Q.push(nex);}}}}printf("NO\n");return;
}
int main()
{while(scanf("%d%d%d",&S,&N,&M)!=EOF && S!=0 && N!=0 && M!=0){if(S / 2 == 1){printf("NO\n");}else{rq[0] = S;rq[1] = N;rq[2] = M;bfs();}}return 0;
}

HDOJ 1495非常可乐相关推荐

  1. HDU 1495 非常可乐

    - HDU 1495 - 非常可乐 Problem Description 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为.因为每次当seeyou买了可乐以后,阿牛就要求和 ...

  2. HDU - 1495 非常可乐(BFS,数学)

    HDU - 1495 非常可乐(BFS,数学) 巨佬的数学解法 #include<iostream> using namespace std; int gcd(int a,int b) { ...

  3. HDU 1495 非常可乐

    非常可乐 http://acm.hdu.edu.cn/showproblem.php?pid=1495 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  4. HDU - 1495 - 非常可乐

    先上题目: 非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. HDU 1495 非常可乐(数论,BFS)

    非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  6. hdu 1495 非常可乐 (bfs)

    非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  7. HDU 1495(非常可乐)

    Problem Description 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为.因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且 ...

  8. 杭电1495非常可乐

    非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  9. HDU 1495 非常可乐(BFS||数论)

    非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

最新文章

  1. 安卓按键精灵_[按键精灵教程]学了这个你也能做出稳定的脚本
  2. 数据中台推荐系统入门(三):推荐系统的评测指标
  3. 王者荣耀用什么开发引擎做的?
  4. .net Core 相关问题
  5. javaweb入门笔记(4)-request和response
  6. QT + OpenCV + MinGW 在windows下配置开发环境
  7. 【bfs】WJ的逃离
  8. c#服务器后台搭建_【环境搭建】Docker简明安装教程
  9. c语言题目1120,九度题目1120:全排列
  10. ubuntu或者fedora下编译淘宝tair key-value-db的开源内存数据库
  11. Android Studio用不了jar
  12. React-leaflet在ant-design pro中的基本使用
  13. 凭证反过账 金蝶k3_金蝶K3总账凭证过账等处理方式
  14. 无法打开Internet站点
  15. XCTF新手练习区 writeup
  16. 看完《硅谷之谜》,马上登机
  17. Linux从一般用户切换到root用户
  18. android温湿度传感节点指令源代码,Arduino+DHT11+OLED显示温湿度信息(附详细文档+源码)...
  19. 面试问到关于数据库的问题,看了这篇够用了!
  20. 【实验四 循环结构】7-2 sdut-C语言实验—两个数比较

热门文章

  1. Yii2默认界面增加多级菜单
  2. 百度网盘配合插件脚本使用IDM下载设置
  3. 【分布式计算:原理、算法和系统】第二章 分布式计算模型
  4. 【转】英语中的从属连词,28个,一篇搞定(句子结构2)
  5. 王亟亟的Python学习之路(10)-函数对象的作用域,函数作为返回值,闭包
  6. aireplay -ng 笔记
  7. 来说下华为专属分享功能——Huawei Share2.0
  8. 并发与并行的区别(超级通俗易懂)
  9. python条形码识别系统_基于Python与Zbar的无人机盘点条形码识别研究
  10. PHP初级程序员能力测试参考答案