hdu1495 突然一下记起ID和密码。。。既然进来了,,就贴一个吧。。。
2012-07-19 16:46
253 查看
#include <iostream> #include <queue> using namespace std; int s[4]; int a[4]; const int mo[6][2] = {1,2,1,3,2,1,2,3,3,1,3,2}; bool mark[111][111]; int ans; struct node { int s, m, n, step; }x; bool bfs() { queue<node> q; int h = s[1] / 2; node u, v; q.push(x); memset(mark, true, sizeof(mark)); mark[0][0] = false; bool flag = false; while (!q.empty()) { u = q.front(); q.pop(); if (u.s==h && u.m==h) flag = true; if (u.s==h && u.n==h) flag = true; if (u.n==h && u.m==h) flag = true; if (flag) { ans = u.step; return true; } for (int i=0;i<6;i++) { a[1] = u.s; a[2] = u.m; a[3] = u.n; int w = mo[i][0]; int e = mo[i][1]; if (a[w]==0) continue; if (a[w]+a[e] > s[e]) { int t = s[e] - a[e]; a[e] = s[e]; a[w] -= t; } else { a[e] += a[w]; a[w] = 0; } if (mark[a[2]][a[3]]) { v.s = a[1]; v.m = a[2]; v.n = a[3]; v.step = u.step+1; mark[a[2]][a[3]] = false; q.push(v); } } } return false; } int main() { while (scanf("%d%d%d", &s[1], &s[2], &s[3]), s[1]) { if (s[1]%2==1) { cout<<"NO\n"; continue; } x.s = s[1]; x.m = 0; x.n = 0; x.step = 0; if (bfs()) cout<<ans<<endl; else cout<<"NO\n"; } return 0; }
相关文章推荐
- 冒犯了,问大家一个问题,会linux的进来帮我解决一下
- 3.【练习题】构造方法与重载 定义一个网络用户类,要处理的信息有用户ID、用户密码、email地址。拓展:判断密码长度
- 【原】本人开了一个淘宝店铺,才开没几天,希望各位朋友能光顾一下!不买进来看看也行!先在此谢过啦!时尚衣巷--月下紫藤
- 有一个帐号类,包含有(id、用户名和密码),编写程序使用List接口来存储多个帐号对象,注意id是自动生成(规则是为List中所有帐号中最大的id再加1)
- 突然记起我也遇到过一个麻花姐
- 用TCL编写了一个生成密码字典的小测试程序,共享一下
- 前些天面试,发现原来做一个找回密码的链接是这么难的,大家想一下url应该传递一些什么参数。
- 关于c++中原型模式的一个问题,请告诉进来帮忙指点一下
- 突然想到的一个东西?测试一下!
- 关于Enterprise library logging中一个没搞明白的东西,希望有大大们进来帮忙释疑一下, THKS
- [ javascript ] 突然想到的一个东西?测试一下!
- 请问一下,我要向一个表插入数据,根据ID,重复的更新,没有的插入,不使用COUNT后判断,能做到吗?
- 4.构造方法与重载:定义一个网络用户类,要处理的信息有用户 ID、用户密码、 email 地址。在建立类的实例时把以上三个信息都作为构造函数的参数输入, 其中用户 ID 和用户密码时必须缺省时 ema
- 一个js Tree 的问题,当id为整数时,可以获得值,当id为“ff100”的数字字母混合是就出现错误,请高手指点一下
- HQL 发现一个小问题: 用foreign连的话 在 where里面既然id需要“Id”,而其他的 如username 只要“userName”!
- 碰到一个老同学,突然发现自己的差距,记录一下
- 今天把密码给更换了一下
- django--今天开始正式做一个比较大的项目,先看一下基础架构
- VC判断当前用户有无Administrator的权限(用EqualSid API函数判断与Admin是否在一个组的Sid)
- 如何做一个处理命令行的应用程序,请大家帮我做一个简单的,说明一下,我想弄清其中 的原理!