1、回收站选址
# author: 周里昂
n = int(input())
pos = [tuple(map(int,input().split())) for j in range(n)]
score = [0] * 5
for i in range(n):
if (pos[i][0]+1, pos[i][1]) in pos \
and (pos[i][0]-1, pos[i][1]) in pos\
and (pos[i][0], pos[i][1]+1) in pos\
and (pos[i][0], pos[i][1]-1) in pos:
sco = 0
if (pos[i][0]+1, pos[i][1]+1) in pos:
sco += 1
if (pos[i][0]-1, pos[i][1]-1) in pos:
sco += 1
if (pos[i][0]+1, pos[i][1]-1) in pos:
sco += 1
if (pos[i][0]-1, pos[i][1]+1) in pos:
sco += 1
score[sco] += 1
for i in range(5):
print(score[i])
2、小明种苹果(续)
参考此方法
n = int(input())
lst = [0] * n
T, D, E = 0, 0, 0
for i in range(n):
tmp = list(map(int, input().split()))[1:]
for j in tmp[1:]:
if j <= 0:
tmp[0] += j
# 当统计个数小于疏果后个数,则发生了苹果掉落
elif tmp[0] > j:
if lst[i] != 1:
D += 1
lst[i] = 1
tmp[0] = j
T += tmp[0]
for i in range(len(lst)):
prev = i-1
if prev < 0:
prev += len(lst)
next = i+1
if next > len(lst) - 1:
next -= len(lst)
if lst[prev] == lst[i] == lst[next] == 1:
E += 1
print(T,D,E)
3、二十四点
# author: 周里昂
n = int(input())
exp = [input().replace('x', '*').replace('/', '//') for i in range(n)]
for i in exp:
if int(eval(i)) == 24:
print('Yes')
else:
print('No')
4、小明放学
# author: 周里昂
# 信号灯变化:红 -> 绿 -> 黄 -> 红
r, y, g = map(int,input().split(' '))
n = int(input())
# 信号灯的周期
s = r + y + g
# 已经花费的时间
time = 0
for i in range(n):
k, t = map(int,input().split(' '))
if k == 0:
time += t
elif k == 1:
# 当花费的时间超过了开始时红灯剩余时间
if t <= time:
# 当前信号灯时间内已经过去的时间
ps = (time-t) % s
if g <= ps < s:
# 信号灯周期时间 - 已过去的时间 = 剩余的所需等待时间
time += s - ps
else:
time += t - time
elif k == 2:
# 当花费的时间超过了开始时黄灯剩余时间,以及后续等待红灯所需的时间
if t + r <= time:
ps = (time-t-r) % s
if g <= ps &l