鱼C论坛

 找回密码
 立即注册
查看: 1446|回复: 1

[技术交流] 洛谷题目 P1215

[复制链接]
发表于 2020-8-20 15:04:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zltzlt 于 2020-8-20 15:06 编辑

洛谷题目 P1215


原题

1.png
1.png

我的代码

  1. #include <bits/stdc++.h>
  2. using namespace std;

  3. int a, b, c, visited[20][20][20];
  4. set<int> res;
  5. set<int>::iterator it;

  6. void dfs(int cura, int curb, int curc)
  7. {
  8.     // 如果当前状态重复了就直接返回
  9.     if (visited[cura][curb][curc])
  10.         return;
  11.     // 如果当前 a 桶为空就将 c 桶的状态保存
  12.     if (!cura)
  13.         res.insert(curc);
  14.     visited[cura][curb][curc] = 1;
  15.     if (cura)
  16.     {
  17.         // A 桶往 B 桶倒
  18.         dfs(((b - curb) >= cura) ? 0 : cura - (b - curb),
  19.             ((b - curb) < cura) ? b : (curb + cura), curc);
  20.         // A 桶往 C 桶倒
  21.         dfs(((c - curc) >= cura) ? 0 : cura - (c - curc),
  22.             curb, ((c - curc) < cura) ? c : (curc + cura));
  23.     }
  24.     if (curb)
  25.     {
  26.         // B 桶往 A 桶倒
  27.         dfs(((a - cura) < curb) ? a : (curb + cura),
  28.             ((a - cura) >= curb) ? 0 : curb - (a - cura), curc);
  29.         // B 桶往 C 桶倒
  30.         dfs(cura, ((c - curc) >= curb) ? 0 : curb - (c - curc),
  31.             ((c - curc) < curb) ? c : (curb + curc));
  32.     }
  33.     if (curc)
  34.     {
  35.         // C 桶往 A 桶倒
  36.         dfs(((a - cura) < curc) ? a : (curc + cura), curb,
  37.             ((a - cura) >= curc) ? 0 : curc - (a - cura));
  38.         // C 桶往 B 桶倒
  39.         dfs(cura, ((b - curb) < curc) ? b : (curc + curb),
  40.             ((b - curb) >= curc) ? 0 : curc - (b - curb));
  41.     }
  42. }

  43. int main()
  44. {
  45.     cin >> a >> b >> c;
  46.     dfs(0, 0, c);
  47.     for (it = res.begin(); it != res.end(); it++)
  48.         cout << *it << ' ';
  49.     return 0;
  50. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2020-8-22 15:40:17 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-2 23:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表