首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >移动我的液体使我平等

移动我的液体使我平等
EN

Code Golf用户
提问于 2020-01-17 00:32:07
回答 6查看 2.5K关注 0票数 5

给出了4个正整数:第一个容器的体积(v1)、第二个容器的体积(v2)、第一个容器中的液体体积(l1)和第二个容器中的液体体积(l2)。您的任务是将一些液体从容器1移动到容器2,使容器中的空空间大小相等,输出应该移动多少液体。

示例

下面是一些可能的输入的示例(为了方便测试用例而格式化的)。)输入没有格式化。):

代码语言:javascript
运行
复制
8 11
6  5

在这里,您需要确保卷和容器之间的差异是相等的。目前,差别并不相等:

代码语言:javascript
运行
复制
  8 11
- 6  5
======
   6 2

因此,我们需要将一个容器中的一些值传递到另一个容器中,从而使它们相等:

代码语言:javascript
运行
复制
  8 11
- 4  7
======
  4  4

成功后,输出从容器1到容器2所需的液体量。因此,上面的示例应该输出2

测试用例

代码语言:javascript
运行
复制
15 16
 9  2

我们进入这样的状态:

代码语言:javascript
运行
复制
 15 16
- 5  6
======
 10 10

因此,4是预期的结果。

测试用例#2

代码语言:javascript
运行
复制
16 12
13  1

我们进入这样的状态:

代码语言:javascript
运行
复制
 16 12
- 9  5
======
  7  7

因此,4是预期的输出。

测试用例#3

代码语言:javascript
运行
复制
20 12
10 2

搬家:

代码语言:javascript
运行
复制
 20 12
-10 2
======
 10 10

因此,0是预期的输出。

更多测试用例

(他们没有解释,因为这应该很清楚)

代码语言:javascript
运行
复制
12 5
9  0 -> 1

9 11
7  3 -> 3

规则

  • 测试用例将被做出,这样结果总是可以作为一个正整数。结果永远不会是小数点。
  • 输入可以采取任何方便和合理的格式。
  • 输出可以提供任何方便和合理的格式。
  • 输入字符串将使移动始终是可能的,而不涉及小数或负数。而且,不会有比一个容器能容纳多少液体更多的液体。
  • 当然,这是密码-高尔夫,所以每种语言的答案都是由最少字节数组成的。高尔夫快乐!
  • 测试用例的额外限制:您可以假设第二个容器中总是有可用的空间。所以像这样的测试用例:
代码语言:javascript
运行
复制
10 2
 2 2

不会是一个有效的测试案例。

EN

回答 6

Code Golf用户

发布于 2020-01-17 00:59:00

JavaScript (ES6) / C#,21字节

代码语言:javascript
运行
复制
(v,V,q,Q)=>V-Q-v+q>>1

在网上试试! (JS)

在网上试试! (C#)

票数 8
EN

Code Golf用户

发布于 2020-01-17 00:59:03

05AB1E,3字节

代码语言:javascript
运行
复制
®β;

在网上试试!

输入是顺序第一液体,第一容器,第二容器,第二液体中的卷数组。

备选案文3-逐项:

代码语言:javascript
运行
复制
ÆÆ;

在网上试试!

输入是一个嵌套数组:[第一容器,第一液体,第二容器,第二液体]。

票数 6
EN

Code Golf用户

发布于 2020-01-17 07:40:56

果冻,3字节

代码语言:javascript
运行
复制
ISH

在网上试试!

一个一元链接,其参数为[[l1, v1], [v2, l2]]并返回移动所需的卷。

一个相对罕见的ASCII-只有果冻的答案!

解释

代码语言:javascript
运行
复制
I   | Increments
 S  | Sum
  H | Half
票数 4
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/198097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档