https://www.luogu.org/problemnew/show/P1215

题解:模拟+BFS

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=20+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,q;
int ans,cnt,flag,sum;
bool vis[N][N][N];
char str;
int cup[3];
struct node{int water[3];
}x,temp,f;
void pour(int a,int b){//倒水函数,把a杯子中的可乐倒到b杯子中int sum=temp.water[a]+temp.water[b];if(sum>=cup[b])temp.water[b]=cup[b];elsetemp.water[b]=sum;temp.water[a]=sum-temp.water[b];
}void bfs(){queue<node>q;x.water[0]=0;x.water[1]=0;x.water[2]=cup[2];q.push(x);vis[0][0][cup[2]]=1;while(!q.empty()){f=q.front();q.pop();//cout<<f.water[0]<<" "<<f.water[1]<<" "<<f.water[2]<<endl;for(int i=0;i<=2;i++){for(int j=0;j<=2;j++){if(i==j)continue;temp=f;pour(i,j);//cout<<temp.water[0]<<" "<<temp.water[1]<<" "<<temp.water[2]<<endl;if(vis[temp.water[0]][temp.water[1]][temp.water[2]]==0){q.push(temp);vis[temp.water[0]][temp.water[1]][temp.water[2]]=1;}}}}
}
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d%d%d",&cup[0],&cup[1],&cup[2]);bfs();set<int>st;for(int i=0;i<=cup[1];i++){for(int j=0;j<=cup[2];j++){if(vis[0][i][j]){st.insert(j);}}}for(set<int>::iterator it=st.begin();it!=st.end();it++){printf("%d ",*it);}//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

[USACO1.4]母亲的牛奶 Mother's Milk相关推荐

  1. 母亲的牛奶 Mother's Milk

    题目描述 农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数, 最初,A和B桶都是空的,而C桶是装满牛奶的.有时,农民把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了 ...

  2. USACO 1.4 Mother's Milk 母亲的牛奶(经典的dfs倒水问题)

    [USACO1.4.4]Mother's Milk 母亲的牛奶 Time Limit:10000MS  Memory Limit:65536K Total Submit:42 Accepted:27  ...

  3. 【USACO TRAINING】母亲的牛奶(洛谷1215题)

    母亲的牛奶 题目描述 农民约翰有三个容量分别是A,B,C升的桶,A.B.C分别是三个从1到20的整数. 最初,A和B桶都是空的,而C桶是装满牛奶的. 有时,约翰把牛奶从一个桶倒到另一个桶中,直到被灌桶 ...

  4. uscao Mother's Milk

    bfs吧,我做过一题非常可乐跟这题很像.就是每次把牛奶在两个杯子中互倒,找到所有情况把a==0这个情况下的c保存起来(可能不同状态下的c相同用vis标记). /* ID: jinbo wu LANG: ...

  5. usaco Mother's Milk

    问题:有三个容器A,B,C,只能从一个容器倒入另一容器,要么全部倒入,要么倒直到另一容器满.问容器A为0时,C可能的值 思路: 1.深度优先搜索 用State来表示int a[3],遍历从一容器到另两 ...

  6. USACO-Section1.5 Mother's Milk (深度优先搜索)

    2017-8-1 题目描述 给你三个容器,初始时前两个为空,最后一个为满,理想状态下,求当第一个容器 为空时,最后一个容器所剩的所有可能性 解答 (1)只能有牛奶的倒给未满的 (2)避免陷入死循环-& ...

  7. 母亲的牛奶(dfs)

    [题目描述] 农夫约翰有 3 个容量分别为 a,b,c 升的桶. 最初 a,b 桶都是空的,而 c 桶是装满牛奶的.有时,农夫把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了.并且每次倒牛奶,牛 ...

  8. 母亲的牛奶(BFS,DFS)

    农夫约翰有三个容量分别为 A,B,C升的挤奶桶. 最开始桶 A 和桶 B 都是空的,而桶 C 里装满了牛奶. 有时,约翰会将牛奶从一个桶倒到另一个桶中,直到被倒入牛奶的桶满了或者倒出牛奶的桶空了为止. ...

  9. P1215 母亲的牛奶

    https://www.luogu.org/problem/show?pid=1215#sub 暴力模拟多种情况.我是用搜索写的,注意返回条件和约束条件. #include<iostream&g ...

最新文章

  1. 在java项目中加载IEDriverServer.exe引用路径
  2. 查看Entity Framework生成的SQL语句
  3. 华为hcia H31-311 练习题
  4. linux c语言 ppt,linux操作系统下c语言编程入门.ppt
  5. 剑桥大学eap入学测试准备!!!救命稻草
  6. 【普及组模拟赛】手机
  7. [Git] 001 初识 Git 与 GitHub 之新建仓库
  8. C语言不调用库函数画一个三角形
  9. 800万行代码的鸿蒙系统,在世界上处于什么水平?
  10. 【Clickhouse】Clickhouse 外部存储引擎之 hdfs
  11. TP5 Validate 验证
  12. Ubuntu 16.04安装Docker
  13. 数字图像处理笔记⑧——纹理分析
  14. 《Dreamweaver CS6 完全自学教程》笔记 第十一章:模板和库
  15. 数据预处理——样本分布(正态分布、偏态分布)
  16. 哪些地方需要使用到301转向
  17. laravel Eloquent whereIn 多个字段
  18. 个人网站,有哪些虚拟主机值得购买?
  19. 医咖会免费SPSS教程学习笔记—Cohen’s kappa系数
  20. CISC(复杂指令集)与RISC(精简指令集)的区别

热门文章

  1. python代码查询_python 查询代码量
  2. php artisan 出错,Laravel 5.2 php artisan migrate:回滚错误
  3. java堆设置成多少合适_jvm~xmx设置多少合适
  4. 九、Docker快速搭建Elastic Stack(上篇)
  5. 七十六、Python | Leetcode二分查找和分治算法系列
  6. 五十八、Java8的新特性Lambda表达式
  7. 中绘制折线_啥是折线图?啥时候用?怎么用呢?这里全都有,满足你的味蕾
  8. 2021年图机器学习有哪些新突破?麦吉尔大学博士后一文梳理展望领域趋势
  9. AAAI 2021 | 用于图拓扑演化的深度图谱进化网络
  10. 计算未来轻沙龙 | 顶会论文相继放榜,NLP领域有哪些最新进展?