(广搜)可口可乐 -- hdu -- 1495
链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1495
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 7620 Accepted Submission(s): 3050
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <queue> using namespace std; #define maxn 110 struct node
{
int a, b, c, step;
}; int S, N, M, vis[maxn][maxn][maxn]; int BFS()
{
node p, q;
p.a=S, p.b=, p.c=, p.step=; memset(vis, , sizeof(vis));
vis[S][][] = ; queue<node>Q;
Q.push(p); while(Q.size())
{
p = Q.front(), Q.pop(); if((p.a==S/&&p.b==S/) || (p.b==S/&&p.c==S/) || (p.a==S/&&p.c==S/)) return p.step; for(int i=; i<; i++)
{
if(i==) /// a->b
{
if(p.a+p.b>N)
{
q.a = p.a+p.b-N;
q.b = N;
}
else
{
q.a = ;
q.b = p.a+p.b;
}
q.c = p.c;
}
else if(i==) /// a->c
{
if(p.a+p.b>M)
{
q.a = p.a+p.c-M;
q.c = M;
}
else
{
q.a = ;
q.c = p.a+p.c;
}
q.b = p.b;
}
else if(i==) /// b->a
{
if(p.b+p.a>S)
{
q.b = p.b+p.a-S;
q.a = S;
}
else
{
q.b = ;
q.a = p.b+p.a;
}
q.c = p.c;
}
else if(i==) /// b->c
{
if(p.b+p.c>M)
{
q.b = p.b+p.c-M;
q.c = M;
}
else
{
q.b = ;
q.c = p.b+p.c;
}
q.a = p.a;
}
else if(i==) /// c->a
{
if(p.c+p.a>S)
{
q.c = p.c+p.a-S;
q.a = S;
}
else
{
q.c = ;
q.a = p.c+p.a;
}
q.b = p.b;
}
else if(i==) /// c->b
{
if(p.c+p.b>N)
{
q.c = p.c+p.b-N;
q.b = N;
}
else
{
q.c = ;
q.b = p.c+p.b;
}
q.a = p.a;
}
q.step = p.step+;
if(!vis[q.a][q.b][q.c])
{
vis[q.a][q.b][q.c]=;
Q.push(q);
}
}
}
return -;
} int main()
{
while(scanf("%d%d%d", &S, &N, &M), S+N+M)
{
if(S%)
{
printf("NO\n");
continue;
} int ans = BFS();
if(ans==-)
printf("NO\n");
else
printf("%d\n", ans); }
return ;
}
(广搜)可口可乐 -- hdu -- 1495的更多相关文章
- hdu 1495 非常可乐 (广搜)
题目链接 Problem Description 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为.因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶 ...
- HDU 1495 非常可乐 (只是转了个弯的广搜题)
N - 非常可乐 =========================================================================================== ...
- hdu 5025 Saving Tang Monk 状态压缩dp+广搜
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4092939.html 题目链接:hdu 5025 Saving Tang Monk 状态压缩 ...
- hdu 5094 Maze 状态压缩dp+广搜
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4092176.html 题目链接:hdu 5094 Maze 状态压缩dp+广搜 使用广度优先 ...
- Combine String HDU - 5707 dp or 广搜
Combine String HDU - 5707 题目大意:给你三个串a,b,c,问a和b是不是恰好能组成c,也就是a,b是不是c的两个互补的子序列. 根据题意就可以知道对于c的第一个就应该是a第一 ...
- HDU 5652(二分+广搜)
题目链接:http://acm.hust.edu.cn/vjudge/contest/128683#problem/E 题目大意:给定一只含有0和1的地图,0代表可以走的格子,1代表不能走的格 子.之 ...
- hdu 1242:Rescue(BFS广搜 + 优先队列)
Rescue Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submis ...
- hdu 1195:Open the Lock(暴力BFS广搜)
Open the Lock Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- HDU 1253 (简单三维广搜) 胜利大逃亡
奇葩!这么简单的广搜居然爆内存了,而且一直爆,一直爆,Orz 而且我也优化过了的啊,尼玛还是一直爆! 先把代码贴上睡觉去了,明天再来弄 //#define LOCAL #include <ios ...
随机推荐
- win7下openvpn不能自动加路由
在win7下用openvpn一直报这个错误,配置文件里的路由一直加不上,但是可以拔得上服务器,只好手工加路由.Thu Apr 07 23:13:51 2011 Notified TAP-Win32 d ...
- erlang和ruby互相调用
erlang调用ruby https://github.com/mojombo/erlectricity ruby调用erlang https://github.com/davebryson/rint ...
- vim自定义配置之代码折叠
vimConfig/plugin/codeFold-setting.vim "--fold setting-- set foldmethod=syntax " 用语法高亮来定义折叠 ...
- 腾讯EC .net API对接第三方系统
最近公司销售部门用到了腾讯EC,实现公司内部OA系统与腾讯ec的数据同步,要求如下: 1.OA内部系统账号与腾讯ec登陆账号同步 2.首先做义工客户端工具用来把现有客户导入到EC,销售人员的客户信息与 ...
- [html][LigerUI]使用示例
<link href="Source/lib/ligerUI/skins/Aqua/css/ligerui-all.css" rel="stylesheet&quo ...
- 关于ROS的MANGLE和ip route-rules-lookup的关系和区别
mangle打出来的mark routing的优先级和lookup打出来的优先级是一样的.(你可以这么理解,lookup根据目的地址打出来的标签,其实跟在ip firewall-mangle打出来的是 ...
- 【失败】CentOS 6.5安装VNCserver 并开启远程桌面
如果你的centos系统压根就没装CDE.Gnome等桌面,那你先执行这条命令,把GUI环境装上,no GUI no VNC yum -y groupinstall 'GNOME Desktop En ...
- [nginx]lua操作redis
local redis = require "resty.redis" local red = redis:new() red:set_timeout() -- sec -- or ...
- php在线编辑本地文件方法共享
public function testfile() { $cfile='F:\phpStudy\WWW\thinkphp5practise\NNWinLoseConfig.ini'; $cfileh ...
- Linux命令之sed批量替换字符串操作
使用sed命令可以进行字符串的批量替换操作,以节省大量的时间及人力: 使用的格式如下: sed -i "s/oldstring/newstring/g" `grep oldstri ...