教学计划-找规律
2024-09-21
240921
julyfun
notes
william
工作
Problem 3. Spaced Outhttps://usaco.org/index.php?page=viewproblem2&cpid=1088从小规模数据开始绘制,发现要么第一行确定后,每一行与上一行相反。要么第一列确定后,每一行与上一行相反。证明:首先考虑第一行存在连续的 11 或者 00 情况我们用 f[j][0] 表示第一行第 j 列为 0 时,整个第 j 列的收益,f[j][1] 相反。n = int(input())
f = [[0, 0] for _ in range(n)]
v = [[0, 0] for _ in range(n)]
for i in range(n):
s = list(map(int, input().split()))
for j, x in enumerate(s):
f[j][(i + 1) % 2] += x
v[i][(j + 1) % 2] += x
ans1 = 0
for x, y in f:
ans1 += max(x, y)
ans2 = 0
for x, y in v:
ans2 += max(x, y)
print(max(ans1, ans2))程序填空:n = int(input())
f = [[0, 0] for _ in range(n)]
v = [[0, 0] for _ in range(n)]
for i in range(n):
s = list(map(int, input().split()))
for j, x in enumerate(s):
f[___][___] += x
v[___][___] += x
ans1 = 0
for x, y in f:
ans1 += __
ans2 = 0
for x, y in v:
ans2 += ___
print(max(ans1, ans2))Problem 3. Moo Route大胆猜测如果能不改方向就不改。往右走如果遇到剩余次数为 0 就掉头。往左走如果左边剩余次数 <= 2 且右边还有可以走的就掉头。否则就回不来了。n = int(input())
a = list(map(int, input().split())) + [0]
s = sum(a)
p = 0
d = 1
for _ in range(s):
if (d == 1 and a[p] == 0) or (d == -1 and a[p - 1] <= 2 and a[p] > 0):
d = -d
if d == 1:
print("R", end='')
a[p] -= 1
else:
print("L", end='')
a[p - 1] -= 1
p += d读题 + 思考USACO 2022 December Contest, SilverProblem 2. Circular Barnhttps://usaco.org/index.php?page=viewproblem2&cpid=125