360笔试

1.

image.png

输出:4
怎么理解这道题?理不清头绪的时候先画个图梳理一下:
比如输入:

9
1 1 2 1 1 2 1 0 1
我们把每种情况列出来:

1 \implies 2 \implies \begin{cases} 3 \implies 4 \implies 5 \implies\begin{cases} 6 \implies 7 \implies 0 \implies 1 \\ 0 \implies 1 \implies 0 \implies 1\end{cases} \\ 0 \implies1 \implies 2 \implies \begin{cases} 3 \implies 4 \implies 0 \implies 1 \\ 0 \implies 1 \implies 0 \implies 1\end{cases} \end{cases}

第/天 1 2 3 4 5 6 7 8 9 SUM
期望 1 2 3/2 (4+1)/2 (5+2)/2 (6+3)/4 (7+1+4+1)/4 0 (1+1+1+1)/4

代码:

import sys
 
lines = sys.stdin.readlines()
t = list(map(int, lines[1].split()))
 
count = 1
res = 0
cur = 0
 
for i in t:
    if i==0:
        cur=0
        continue
    cur+=count
    if i==2:
        count*=2
    res += cur/count
print(int(res))

2

image.png

解析:
反过来想,,可见由3个数相乘得到,最简单的搭配是。如果

那么原来的货物的量为

代码:

n = int(input())

def test(x):
    y=(x+1)*9
    z=y-x
    return z

print(test(n))

你可能感兴趣的:(360笔试)