【HDOJ】1495 非常可乐
bfs.
#include <iostream>
#include <queue>
#include <cstdio>
#include <cstring>
using namespace std; #define MAXN 105 bool visit[MAXN][MAXN][MAXN]; typedef struct node_t {
int x[];
int t;
node_t() {}
node_t(int xx, int yy, int ss, int tt) {
x[] = xx;
x[] = yy;
x[] = ss;
t = tt;
}
} node_t; int s, m, n; bool check(node_t d) {
int half = s>>; if ((d.x[]==half) && (d.x[]== || d.x[]==)) return true;
if ((d.x[]==) && (d.x[]==half)) return true; return false;
} int bfs() {
if (s & )
return -;
queue<node_t> Q;
int x[] = {m, n, s};
int i, j, k, tmp; memset(visit, false, sizeof(visit));
visit[][][s] = true;
Q.push(node_t(,,s,)); while (!Q.empty()) {
node_t d = Q.front();
Q.pop();
for (i=; i<; ++i) {
for (j=; j<; ++j) {
if (i == j)
continue;
node_t dd = d;
// from i to j
tmp = x[j] - dd.x[j];
if (tmp > ) {
if (dd.x[i] > tmp) {
dd.x[j] = x[j];
dd.x[i] -= tmp;
} else {
dd.x[j] += dd.x[i];
dd.x[i] = ;
}
}
if (visit[dd.x[]][dd.x[]][dd.x[]]) {
continue;
}
++dd.t;
visit[dd.x[]][dd.x[]][dd.x[]] = true;
if ( check(dd) )
return dd.t;
Q.push(dd);
}
}
} return -;
} int main() { #ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
#endif while (scanf("%d%d%d",&s,&m,&n)!=EOF && (s||m||n)) {
int ans = bfs();
if (ans > )
printf("%d\n", ans);
else
printf("NO\n");
} return ;
}
【HDOJ】1495 非常可乐的更多相关文章
- hdoj 1495 非常可乐【bfs隐式图】
非常可乐 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- HDOJ 1495 非常可乐 【BFS】
非常可乐 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- BFS(倒水问题) HDU 1495 非常可乐
题目传送门 /* BFS:倒水问题,当C是奇数时无解.一共有六种情况,只要条件符合就入队,我在当该状态vised时写了continue 结果找了半天才发现bug,泪流满面....(网上找份好看的题解都 ...
- HDU 1495 非常可乐(数论,BFS)
非常可乐 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- HDU 1495 非常可乐
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=103711#problem/M /*BFS简单题 链接地址: http://acm.hdu ...
- HDU 1495 非常可乐 BFS 搜索
http://acm.hdu.edu.cn/showproblem.php?pid=1495 题目就不说了, 说说思路! 倒可乐 无非有6种情况: 1. S 向 M 倒 2. S 向 N 倒 3. N ...
- HDU ACM 1495 非常可乐(广搜BFS)
非常可乐 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissi ...
- HDU 1495 非常可乐 bfs 难度:1
http://acm.hdu.edu.cn/showproblem.php?pid=1495 第三个杯子的盛水量可由前两个杯子得到,而前两个杯子状态总数在100*100以内,穷举可实现 #includ ...
- HDU 1495 非常可乐(BFS倒水问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1495 题目大意:只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101) ...
随机推荐
- web系统架构的演进变化很形象
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只需一个应用, ...
- iOS教你轻松打造瀑布流Layout
前言 : 在写这篇文章之前, 先祝贺自己, 属于我的GitHub终于来了. 这也是我的GitHub的第一份代码, 以下文章的代码均可以在Demo clone或下载. 欢迎大家给予意见. 觉得写得不错的 ...
- C#编写QQ找茬外挂
QQ找茬外挂,用C#代码编写. 使用方法 这个工具的主要运行流程很简单:游戏截图->比较图片->标记图片不同点.实现代码 截图的处理类ScreenCapture: /// /// 提供全屏 ...
- 《Android开发艺术探索》读书笔记 (9) 第9章 四大组件的工作过程
第9章 四大组件的工作过程 9.1 四大组件的运行状态 (1)四大组件中只有BroadcastReceiver既可以在AndroidManifest文件中注册,也可以在代码中注册,其他三个组件都必须在 ...
- android核心服务初探
终于进入android学习的进阶阶段,第一个课题是android的核心服务.首先,让我们来认识一下核心服务. android核心服务与app服务有所区别.app服务继承自Service基类,在app运 ...
- 500 OOPS: vsftpd: refusing to run with writable root inside chroot()解决方法
vsftpd.conf配置文件如下: [root@rusky ~]# cat /etc/vsftpd/vsftpd.conf | grep -v "#" anonymous_ena ...
- linux之CentOS-7.0环境搭建
此文作为新手安装centos-7的图文教程. 一. 前言 最近,师兄要进行实验室架构搭建,需要学习docker.而docker是完全依赖于linux系统的.所以,有了这篇文章. linux有很多发 ...
- Java遍历Map、List、Array
1.遍历array,使用for循环或者foreach(本人建议使用) int arr[] = {2, 3, 1}; System.out.println("----1----排序前的一维数组 ...
- Volley框架使用(POST)
需要在MyApplication(继承Application)中配置; public static RequestQueue requestQueue; @Override public void o ...
- 关于asp.net程序连接不了ORACLE数据库而PL/SQL可以连接的问题
今天在发布ASP.NET WEB网站时发现程序连接不了数据 报“ORA-12154: TNS: 无法解析指定的连接标识符”的错误,但PL/SQL连接又没有问题.真莫名其秒.在百度找了好多相关的问题.都 ...