Farmer John has two milking barns, each of which has a large milk tank as well as a storage closet containing buckets of various sizes. He likes to carry milk back and forth between the two barns as a means of exercise.
On Monday, Farmer John measures exactly gallons of milk in the tank of the first barn, and exactly gallons of milk in the tank of the second barn.
On Tuesday, he takes a bucket from the first barn, fills it, and carries the milk to the second barn, where he pours it into the storage tank. He leaves the bucket at the second barn.
On Wednesday, he takes a bucket from the second barn (possibly the one he left on Tuesday), fills it, and carries the milk to the first barn, where he pours it into the storage tank. He leaves the bucket at the first barn.
On Thursday, he takes a bucket from the first barn (possibly the one he left on Wednesday), fills it, and carries the milk to the second barn, where he pours it into the tank. He leaves the bucket at the second barn.
On Friday, he takes a bucket from the second barn (possibly the one he left on Tuesday or Thursday), fills it, and carries the milk to the first barn, where he pours it into the tank. He leaves the bucket at the first barn.
Farmer John then measures the milk in the tank of the first barn. How many possible different readings could he see? INPUT FORMAT (file backforth.in):
The first line of input contains integers, giving the sizes of the buckets initially at the first barn. The second line of input contains more integers, giving the sizes of the buckets initially at the second barn. All bucket sizes are in the range .
OUTPUT FORMAT (file backforth.out):
Please print the number of Friday.
SAMPLE INPUT:
1 1 1 1 1 1 1 1 12 5 5 5 5 5 5 5 5 55
SAMPLE OUTPUT:
5
In this example, there are
不需要考虑拿过去,再拿回来相同的桶的情况。
枚举两遍拿0, 1, 20,1,2个到对面,就可以了。
当然,拿两个过去的时候,不能拿相同的22个。
import sys
sys.stdin = open('backforth.in', 'r')
sys.stdout = open('backforth.out', 'w')
a = map(int, raw_input().split())
b = map(int, raw_input().split())
s = set([])
s.add(0)
for i in range(10):
for j in range(10):
s.add(a[i] - b[j])
for i in range(10):
for j in range(10):
for k in range(i):
for l in range(j):
s.add(a[i] + a[k] - b[j] - b[l])
print len(s)
[/hide]
© 2024. All Rights Reserved. 沪ICP备2023009024号-1