#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
bool cup[][][];
struct dot
{
int a;
int b;
int c;
int s;
};
int x, y, z;
bool flag; int clam(int a, int b, int c)
{
int s;
switch(c)
{
case : s = x; break;
case : s = y; break;
case : s = z; break;
}
if( a+b < s) return a;
else return s-b;
} int main()
{
// freopen("in.in","r",stdin);
// freopen("out.txt","w",stdout);
while(scanf("%d%d%d",&x,&y,&z),x|y|z)
{
if( x& )
{
printf( "NO\n" );
continue;
}
memset(cup,false,sizeof(cup));
flag = false;
queue<dot>q;
dot s, t;
s.a = x;
s.b = ;
s.c = ;
s.s = ;
q.push(s);
while(q.size())
{
s = q.front();
q.pop();
cup[s.a][s.b][s.c] = true; if((s.a==x/ && s.b==x/) || (s.c==x/ && s.b==x/) || (s.c==x/ && s.a==x/) )
{
flag = true;
break;
}
t.s = s.s + ; t.a = s.a - clam(s.a,s.b,);
t.b = s.b + clam(s.a,s.b,);
t.c = s.c;
if(cup[t.a][t.b][t.c]==false) q.push(t);
t.a = s.a + clam(s.b,s.a,);
t.b = s.b - clam(s.b,s.a,);
t.c = s.c;
if(cup[t.a][t.b][t.c]==false) q.push(t);
t.a = s.a;
t.b = s.b + clam(s.c,s.b,);
t.c = s.c - clam(s.c,s.b,);
if(cup[t.a][t.b][t.c]==false) q.push(t);
t.a = s.a;
t.b = s.b - clam(s.b,s.c,);
t.c = s.c + clam(s.b,s.c,);
if(cup[t.a][t.b][t.c]==false) q.push(t);
t.a = s.a - clam(s.a,s.c,);
t.b = s.b;
t.c = s.c + clam(s.a,s.c,);
if(cup[t.a][t.b][t.c]==false) q.push(t);
t.a = s.a + clam(s.c,s.a,);
t.b = s.b;
t.c = s.c - clam(s.c,s.a,);
if(cup[t.a][t.b][t.c]==false) q.push(t);
}
if(flag)
{
while(q.size()) q.pop();
printf("%d\n",s.s);
}
else printf("NO\n"); }
return ;
}

[kuangbin带你飞]专题一 简单搜索 - M - 非常可乐的更多相关文章

  1. [kuangbin带你飞]专题一 简单搜索 题解报告

    又重头开始刷kuangbin,有些题用了和以前不一样的思路解决.全部题解如下 点击每道题的标题即可跳转至VJ题目页面. A-棋盘问题 棋子不能摆在相同行和相同列,所以我们可以依此枚举每一行,然后标记每 ...

  2. [kuangbin带你飞]专题一 简单搜索(回顾)

    A - 棋盘问题 POJ - 1321 注意条件:不能每放一个棋子,就标记一行和一列,我们直接枚举每一行就可以了. AC代码: #include<iostream> #include< ...

  3. [kuangbin带你飞]专题一 简单搜索 - E - Find The Multiple

    //Memory Time //2236K 32MS #include<iostream> using namespace std; ]; //保存每次mod n的余数 //由于198的余 ...

  4. [kuangbin带你飞]专题一 简单搜索 棋盘问题

    题来:链接https://vjudge.net/problem/OpenJ_Bailian-132 J - 棋盘问题 1.题目: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别. ...

  5. [kuangbin带你飞]专题一 简单搜索

            ID Origin Title 454 / 1008 Problem A POJ 1321 棋盘问题   328 / 854 Problem B POJ 2251 Dungeon Ma ...

  6. [kuangbin带你飞]专题一 简单搜索 回顾总结

    第二题:bfs,忘了将queue清空. 第三题:bfs,记得使用vis数组,防止重复入队

  7. 迷宫问题 POJ - 3984 [kuangbin带你飞]专题一 简单搜索

    定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, ...

  8. [kuangbin带你飞]专题一 简单搜索 Find a way HDU - 2612

    Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year ...

  9. Catch That Cow POJ - 3278 [kuangbin带你飞]专题一 简单搜索

    Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. ...

随机推荐

  1. 剑指offer——数组中出现次数超过一半的数字(c++)

    题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2.如 ...

  2. 红黑数之原理分析及C语言实现

    目录: 1.红黑树简介(概念,特征,用途) 2.红黑树的C语言实现(树形结构,添加,旋转) 3.部分面试题() 1.红黑树简介 1.1 红黑树概念 红黑树(Red-Black Tree,简称R-B T ...

  3. python re 正則匹配規則

  4. MakeDown渲染出错

    MakeDown渲染出错 makedown作为程序员不可或缺的编辑工具,平时的使用技巧也是非常多的. 今天给新电脑装了一个,发现出现了错误(win10环境下),如图: 错误的表现形式即:不能实时预览M ...

  5. delphi基础篇之数据类型

      Object Pascal 数据类型    数据类型与定义变量 Object Pascal 语言的最大特点是对数据类型的要求非常严谨.传递给过程或函数的参数值必须与形参的类型一致.在Object ...

  6. super_blocks没有导出

    在模块中,通过查询super_blocks列表,来遍历系统中的所有super_block,但是出现与下面类似的错误: http://stackoverflow.com/q/5051111/941650 ...

  7. 剑指offer——03二维数组中的查找

    题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1].不 ...

  8. Ubuntu12.04下Encountered a section with no Package: header错误解决方案

            刚刚想在Ubuntu12.04下安装几个软件,sudo apt-get install libsqlite3-dev automake scratchbox2,没成想出现下面的错误: ...

  9. springboot上传图片大小限制

    背景:springboot项目上传图片超过1M报错,经了解,springboot默认上传文件1M 需求:更改默认配置,控制上传文件大小 方法:①更改配置文件(经试验不可行,不知道为什么):②更改启动B ...

  10. 从可变长函数到legb

    可变长参数 * *形参 用元组接收接收多余的位置实参 约定俗成形参名为 *args def f1(*args):#调用函数时,有多少个参数我就接收多少个 res = 0 for num in args ...