1355. 母亲的牛奶【一般 / DFS爆搜】
https://www.acwing.com/problem/content/1357/
#include<bits/stdc++.h>
using namespace std;
int a,b,c;
set<int>st;
unordered_map<string,int>mp;
void dfs(int s1,int s2,int s3)
{if(s1==0) st.insert(s3);if(s1)//s1有奶,s1倒{int temp=min(b-s2,s1);//s1->s2string s=to_string(s1-temp)+" "+to_string(s2+temp)+" "+to_string(s3);if(!mp[s]) mp[s]=1,dfs(s1-temp,s2+temp,s3);temp=min(c-s3,s1);//s1->s3;s=to_string(s1-temp)+" "+to_string(s2)+" "+to_string(s3+temp);if(!mp[s]) mp[s]=1,dfs(s1-temp,s2,s3+temp);}if(s2)//s2有奶,s2倒{int temp=min(a-s1,s2);//s2->s1string s=to_string(s1+temp)+" "+to_string(s2-temp)+" "+to_string(s3);if(!mp[s]) mp[s]=1,dfs(s1+temp,s2-temp,s3);temp=min(c-s3,s2);//s2->s3s=to_string(s1)+" "+to_string(s2-temp)+" "+to_string(s3+temp);if(!mp[s]) mp[s]=1,dfs(s1,s2-temp,s3+temp);}if(s3)//s3有奶,s3倒{int temp=min(a-s1,s3);//s3->s1;string s=to_string(s1+temp)+" "+to_string(s2)+" "+to_string(s3-temp);if(!mp[s]) mp[s]=1,dfs(s1+temp,s2,s3-temp);temp=min(b-s2,s3);//s3->s2;s=to_string(s1)+" "+to_string(s2+temp)+" "+to_string(s3-temp);if(!mp[s]) mp[s]=1,dfs(s1,s2+temp,s3-temp);}
}
int main(void)
{cin>>a>>b>>c;dfs(0,0,c);for(auto i=st.begin();i!=st.end();i++) cout<<*i<<" ";return 0;
}
其实数据很小,可以开一个三元数组判重。
#include<bits/stdc++.h>
using namespace std;
int a,b,c,mp[25][25][25];
set<int>st;
void dfs(int s1,int s2,int s3)
{if(s1==0) st.insert(s3);if(mp[s1][s2][s3]) return;mp[s1][s2][s3]=1;int t=min(b-s2,s1);//s1->s2dfs(s1-t,s2+t,s3);t=min(c-s3,s1);dfs(s1-t,s2,s3+t);t=min(a-s1,s2);//s2->s1dfs(s1+t,s2-t,s3);t=min(c-s3,s2);//s2->s3dfs(s1,s2-t,s3+t);t=min(a-s1,s3);//s3->s1;dfs(s1+t,s2,s3-t);t=min(b-s2,s3);//s3->s2;dfs(s1,s2+t,s3-t);
}
int main(void)
{cin>>a>>b>>c;dfs(0,0,c);for(auto i=st.begin();i!=st.end();i++) cout<<*i<<" ";return 0;
}
1355. 母亲的牛奶【一般 / DFS爆搜】相关推荐
- 【ZSTU4210 2015年12月浙理工校赛 A】【DFS爆搜】孙壕请一盘青岛大虾呗 n个消费点m个购物点最后一位置恰好消费完
4210: 孙壕请一盘青岛大虾呗 Time Limit: 5 Sec Memory Limit: 128 MB Submit: 585 Solved: 249 Description 话说那一年z ...
- DFS(爆搜、深搜)
DFS俗称爆搜,深搜.DFS对应的流程是一个树的结构,DFS的精髓在于递归求解的思路以及回溯的处理.针对搜索的过程,又有重要的剪枝优化.必要的剪枝优化对DFS的顺序执行有很大的作用. DFS的过程就是 ...
- 母亲的牛奶(dfs)
[题目描述] 农夫约翰有 3 个容量分别为 a,b,c 升的桶. 最初 a,b 桶都是空的,而 c 桶是装满牛奶的.有时,农夫把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了.并且每次倒牛奶,牛 ...
- 母亲的牛奶(BFS,DFS)
农夫约翰有三个容量分别为 A,B,C升的挤奶桶. 最开始桶 A 和桶 B 都是空的,而桶 C 里装满了牛奶. 有时,约翰会将牛奶从一个桶倒到另一个桶中,直到被倒入牛奶的桶满了或者倒出牛奶的桶空了为止. ...
- POJ3185 The Water Bowls(反转法or dfs 爆搜)
POJ3185 The Water Bowls 题目大意: 奶牛有20只碗摆成一排,用鼻子顶某只碗的话,包括左右两只在内的一共三只碗会反向,现在给出碗的初始状态,问至少要用鼻子顶多少次才能使所有碗都朝 ...
- HDU多校6 - 6831 Fragrant numbers(dfs爆搜+打表)
题目链接:点击查看 题目大意:给出一个以 " 1145141919 " 无限循环的字符串,现在可以在合适的位置添加 ' + ' , ' * ' 和 ' ( ' , ' ) ' 将其 ...
- hihocoder #1115 : 诺兹多姆(dfs爆搜)
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 wuzhengkai是一个炉石传说玩家. 有一天,他碰到对面上了个诺兹多姆并上了嘲讽和圣盾. 诺兹多姆是一个有8点攻击力和8 ...
- USACO 1.4 Mother's Milk 母亲的牛奶(经典的dfs倒水问题)
[USACO1.4.4]Mother's Milk 母亲的牛奶 Time Limit:10000MS Memory Limit:65536K Total Submit:42 Accepted:27 ...
- 容斥 + 爆搜打表 ---- 2020年南京icpc H.Harmonious Rectangle
题目链接 题目大意: 就是给你一个二维平面{(x,y)∣1≤x≤n,1≤y≤m}\{(x,y)|1\leq x\leq n,1\leq y \leq m\}{(x,y)∣1≤x≤n,1≤y≤m},你现 ...
最新文章
- Thymeleaf 学习笔记 (2)
- 大多数Web浏览器中都可以使用PUT,DELETE,HEAD等方法吗?
- Leetcode 208. 实现 Trie (前缀树) 解题思路及C++实现
- TCP/IP协议学习笔记
- python数据库连接池工具类_Python数据库连接池DBUtils
- livechart 只显示 y 值_【科研工具51】谷歌,谷歌学术,Scihub有效网址检索软件——Y学术...
- android从github 下开源库引用问题 (出现ClassNotFoundException)
- centos PIL 安装
- Go语言的flag库、os库、strconv库
- Xshell不能链接虚拟机(可ping通)--解决方案
- 安装使用dubbo-admin管理台进行服务监控和服务治理
- 插入、删除和随机查询时间复杂度都为O(1) leetcode 381
- 【华为云技术分享】软件工程师的AI模型训练起步
- 一文盘点中国商业航天:民营火箭的两类瓶颈和三大趋势
- python中平方和_python的平方和怎么理解?
- python中矩阵怎么表示_python中的列矩阵表示
- nginx部署访问phpadmin
- 【论文】Track to Detect and Segment: An Online Multi-Object Tracker
- 家到学校路线图怎么画_PPT绘制家到学校路线图教程
- ae输出quicktime设置_详解AE输出设置及解析原因
热门文章
- Windows下编译jcef
- NPOI Excel 导出学习 一 (基础导出)
- 设计模式——桥梁模式
- SqlServer 导出指定表数据 生成Insert脚本
- 基于asp.net + easyui框架,一步步学习easyui-datagrid——界面(一)
- Flash Builder4.6 无法启动,并且报 Failed to create the Java Virtual Machine (2—可能更好些)...
- 全志V3S代码中的bug之1
- ST17H26开发小总结
- 智能合约重构社会契约(8)以太坊分片
- 区块链BaaS云服务(7)微软Azure区块链服务