USACO1.5 Mother's Milk【搜索】
这道题还记得是我当年学广搜的时候做过。
如今再做,做了一个$dfs$版本的,比较简单,直接搞就可以了。
广搜的话,用结构体保存,然后塞到$queue$里面就可以了。
/*
ID: Starry21
LANG: C++
TASK: ariprog
*/
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;
#define N 25
#define ll long long
#define INF 0x3f3f3f3f
int a,b,c;
bool vis[];
bool pd[N][N][N];
void dfs(int A,int B,int C)
{
if(pd[A][B][C]) return ;
pd[A][B][C]=;
if(A!=)
{
int delta=min(A,b-B);
if(delta!=) dfs(A-delta,B+delta,C);
delta=min(A,c-C);
if(delta!=) dfs(A-delta,B,C+delta);
}
if(B!=)
{
int delta=min(B,a-A);
if(delta!=) dfs(A+delta,B-delta,C);
delta=min(B,c-C);
if(delta!=) dfs(A,B-delta,C+delta);
}
if(C!=)
{
int delta=min(C,b-B);
if(delta!=) dfs(A,B+delta,C-delta);
delta=min(C,a-A);
if(delta!=) dfs(A+delta,B,C-delta);
}
if(A==)
{
vis[C]=;
return ;
}
return ;
}
int main()
{
//freopen("ariprog.in","r",stdin);
//freopen("ariprog.out","w",stdout);
scanf("%d %d %d",&a,&b,&c);
dfs(,,c);
for(int i=;i<=;i++)
if(vis[i])
printf("%d ",i);
return ;
}
Code
USACO1.5 Mother's Milk【搜索】的更多相关文章
- 洛谷P1215 [USACO1.4]母亲的牛奶 Mother's Milk
P1215 [USACO1.4]母亲的牛奶 Mother's Milk 217通过 348提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交 讨论 题解 最新讨论 暂时没有讨论 ...
- P1215 [USACO1.4]母亲的牛奶 Mother's Milk
P1215 [USACO1.4]母亲的牛奶 Mother's Milk 题目描述 农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数, 最初,A和B桶都是空的,而C桶是装满 ...
- USACO 1.4 Mother's Milk
Mother's Milk Farmer John has three milking buckets of capacity A, B, and C liters. Each of the numb ...
- luogu P1215 [USACO1.4]母亲的牛奶 Mother's Milk
题目描述 农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数, 最初,A和B桶都是空的,而C桶是装满牛奶的.有时,农民把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了 ...
- 洛谷 P1215 [USACO1.4]母亲的牛奶 Mother's Milk
题目描述 农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数, 最初,A和B桶都是空的,而C桶是装满牛奶的.有时,农民把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了 ...
- 洛谷 P1215 【[USACO1.4]母亲的牛奶 Mother's Milk】
这道题\(DFS\)就好了,六种情况,\(ab,ac,ba,bc,ca,cb\),我们直接枚举就可.什么?这样不会结束?用一个\(vis\)数组判断走过没有就可以了.最后排序输出即可. \(code: ...
- USACO Section1.4 Mother's Milk 解题报告
milk3解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...
- 【USACO 1.4】Mother's Milk
/* TASK: milk3 LANG: C++ SOLVE: 倒水,dfs,枚举每一种倒法,ca[i][j]记录a和c桶的状态,因为总体积不变,故b的状态不需要记录. */ #include< ...
- Section 1.4 Mother's Milk
又是一道怨念已久的题目0 0之前深搜写过广搜写过,怎么就是卡死,我还以为FP坏了重新装了一遍.今天偶尔翻起来,发现广搜忘记inc(head)了…简直哭瞎… 简单的广搜,分类比较多,不过不太要动脑子.至 ...
随机推荐
- 并发编程的锁机制:synchronized和lock
1. 锁的种类 锁的种类有很多,包括:自旋锁.自旋锁的其他种类.阻塞锁.可重入锁.读写锁.互斥锁.悲观锁.乐观锁.公平锁.可重入锁等等,其余就不列出了.我们重点看如下几种:可重入锁.读写锁.可中断锁. ...
- grunt-contrib-cssmin CSS压缩以及合并
grunt-contrib-cssmin:压缩以及合并CSS文件 安装插件:npm install grunt-contrib-cssmin --save-dev 不设置compatibility与n ...
- centos7安装android studio遇到Unable to run mksdcard sdk tool
centos系统为最小化安装,所以安装新软件时缺少许多依赖包,Android Studio下载的mksdcard是32位的,而系统是64位的,所以需要安装支持32位软件的依赖包. sudo yum i ...
- 什么是BFC(块级格式上下文)?
㈠什么是BFC? BFC 全称为 块格式化上下文 (Block Formatting Context) . 定义:浮动元素和绝对定位元素,非块级盒子的块级容器(例如 inline-blocks, ta ...
- Spring前台填充数据
举例: <div>${userinfo.name}</div> 显示规则 1.先判断对象有没有存在,对象存在的时候,才会查找对象里的字段.这个时候字段必须正确.2.如果对象 ...
- Android_(传感器)指南针
Android方向传感器 传感器中的X:如上图所示,规定X正半轴为北,手机头部指向OF方向,此时X的值为0,如果手机头部指向OG方向,此时X值为90,指向OH方向,X值为180,指向OE,X值为270 ...
- jsp里面自定义标签常量详解
标签中静态常量: EVAL_BODY_INCLUDE:告诉服务器正文的内容,并把这些内容送入输出流 SKIP_BODY:告诉服务器不要处理正文内容 EVAL_PAGE:让服务器继续执行页面 SKIP_ ...
- MyBaits理解?
(1)MyBaits是一个基于Java的持久层框架,支持普通或定制化SQL查询.存储过程以及高级映射,使用XML或注解来配置和映射信息. (2)应用程序使用SQLSessionFactory实例,一个 ...
- LeetCode 96. 不同的二叉搜索树(Unique Binary Search Trees )
题目描述 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 输出: 解释: 给定 n = , 一共有 种不同结构的二叉搜索树: \ / / / \ \ / / ...
- shell高级-----正则表达式
正则表达式概述 正则表达式是一种定义的规则,Linux工具可以用它来过滤文本. 基础正则表达式 纯文本 [root@node1 ~]# echo "this is a cat" | ...