- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
问题如下:
Dick is d=12 years old. When we say this, we mean that it is at least twelve and not yet thirteen years since Dick was born.
Dick and Jane have three pets: Spot the dog, Puff the Cat, and Yertle the Turtle. Spot was s years old when Puff was born; Puff was p years old when Yertle was born; Spot was yy years old when Yertle was born. The sum of Spot’s age, Puff’s age, and Yertle’s age equals the sum of Dick’s age (d) and Jane’s age (j). How old are Spot, Puff, and Yertle?
给定的输入是 s,p,y,j,所需的输出是:spot 的年龄、puff 的年龄和 yertle 的年龄。
我的解决方案如下:
import sys
import math
d = 12
for line in sys.stdin:
line = [int(x) for x in line.strip("\n").split()]
s = line[0]
p = line[1]
y = line[2]
j = line[3]
yertle = (d+j-y-p)/3.0
difference = yertle - math.floor(yertle)
if difference > 0.5:
# for the 0.66666 cases
spot = puff = int(math.ceil(yertle+p))
yertle = int(math.floor(yertle))
else:
# for the 0.33333 cases
yertle = int(math.floor(yertle))
puff = yertle + p
spot = d+j - puff - yertle
print spot,puff,yertle
但它在某些输入上是不正确的,例如:s=5、p=5、y=10、j=10。因为对于这些规范,狗的实际年龄是:spot=12.333,puff=7.333,yertle=2.333 但是因为我们正在进行整数除法,所以我们得到 12,7,2。但是,这些结果不满足 $$spot + puff + yertle = dick + jane$$规则。有没有人对我在哪里犯了错误或者我应该如何处理/解决这个问题有其他想法?
最佳答案
不要使用浮点运算,使用整数。
让我们表示D+J = DJ
,Spot 的年龄S
,Puff 的年龄P
,Yertle 的年龄Y
Let's Spot 生日时间为零,所以 Puff 出生在区间 [s, s+1)
,Yertle 出生在区间 [y, y+1)
.当前时间在区间 [S, S+1)
.
如果我们看一下时间线,我们可以看到
S = y + Y
or
S = y + Y + 1
and
S = s + P
or
S = s + P + 1
年龄总和是
DJ = S + Y + P = S + S - y + S - s - (0, 1, 2)
其中 (0,1,2) 是可能的附录
3 * S = DJ + y + s + (0,1,2)
我们可以看到右边的部分必须能被3整除,所以接下来的计算取决于值
M = (DJ + y + s) modulo 3
case M = 0: (5 5 10 9)
S = (DJ + y + s) / 3 = (21 + 15) / 3 = 12
P = S - s = 12 - 5 = 7
Y = S - y = 12 - 10 = 2
case M = 1: (5 5 10 10)
here we should add 2 to make sum 37 divisible by 3
S = (DJ + y + s + 2) / 3 = (22 + 15 + 2) / 3 = 13
P = S - s - 1 = 13 - 5 = 1 = 7
Y = S - y - 1 = 13 - 10 - 1 = 2
now more complex case M = 2 (5 5 11 10):
here we should add 1 to make sum 38 divisible by 3
and solve - where use 1 - for P or for Y calculation?
We can determine this evaluating s/p/y relation:
if y = s + p + 1 then use 1 for Puff's age else for Yertle
(because Puff's fraction is larger then Yertle's fraction,
she was born in the later year period)
here 11 = 5 + 5 + 1, so
S = (22 + 16 + 1) / 3 = 13
Y = S - y = 13 - 11 = 2
P = S - s - 1 = 13 - 5 - 1 = 7
关于python - 来自 Kattis 的 D+J 编程挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37582134/
我正在尝试解决我在网站 https://open.kattis.com/problems/coast 上发现的一个问题. Tl;dr 版本的问题是,对于给定的景观 map ,我应该打印出海岸线的长度(
我正在尝试解决这个问题( https://open.kattis.com/problems/anotherbrick )。 当我提交最终代码时,我不断收到运行时错误。我不确定我的代码有什么问题。 #
我是编程新手。我正在学习 XOR 以尝试在 Kattis 上解决类作业问题的 oddmanout 问题。 我正在尝试的是在一系列数字中找到奇怪的人。除一个号码外,每个号码都有一对。我必须找到没有的号码
This是我指的问题。快速总结: 输入:一个整数时间T;银行关闭的时间(以分钟为单位)和一组 c 和 t 表示此人携带的现金数量(整数)和从现在开始的时间(以分钟为单位)如果没有送达,此人将离开。服务
我目前正在 Kattis 做一些测试,但我被卡住了 with this one .到目前为止,我编写的代码在 Visual Studio 代码中使用 console.logging 时为我提供了最后一
我是一名 PHP 初学者,我正在尝试解决 Modulo Kattis 问题,当我在终端中测试我的代码时,它运行良好,但当我提交我的解决方案时,我得到“错误答案”。 问题(https://open.ka
请注意,此问题是作业。 通过下面的代码,我在Kattis网站上输入了这个问题的数据。代码可以编译,但是,我在“聚会人数#:”printf 之后出现段错误,我不确定为什么。请帮忙! 在 Kattis 中
我正在尝试解决描述的设备问题here .我有一个解决方案,但它需要超过 2 秒的时间限制。我试图优化我的代码以提高速度,但无法在 2 秒的限制内完成。 import sys import math f
我一直在尝试解决 Kattis 上的最小生成树问题。 ( https://open.kattis.com/problems/minspantree ) 第一个测试运行良好,第二个给出未指定的运行时错误
我收到了一些编程任务,需要完成这些任务才能进入工作面试的下一步。让他们都接受期待一个,描述:https://academicwork.kattis.com/problems/pebblesolitai
在试图找到阶乘 val 的最后一位的 Main 类中,为什么 public static void main(String[] args) { int testcases = sc.n
问题如下: Dick is d=12 years old. When we say this, we mean that it is at least twelve and not yet thirt
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我是一名优秀的程序员,十分优秀!