社区讨论
球球佬们帮忙看看这个代码哪里错了
学术版参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @lo131mfa
- 此快照首次捕获于
- 2023/10/22 14:23 2 年前
- 此快照最后确认于
- 2023/11/02 13:52 2 年前
最近写程序一直这样,自己阅读感觉无比清晰,但是测试的答案乱七八糟
不是洛谷的题,是oj上的熄灯问题,但是实在找不到人问了qwq
PYTHONstatus = []
for i in range(5):
status.append(list(map(int, input().split())))
for i in range(0, 2 ** 6):
performed_status = status
performance = [[0, 0, 0, 0, 0, 0]] * 5
performance[0] = [0] * (6 - len([int(x) for x in bin(i)[2:]])) + [int(x) for x in bin(i)[2:]]
for j in range(4):
for k in range(6):
if performance[j][k]: # perform the transform
if j > 0:performed_status[j - 1][k] = (performed_status[j - 1][k] + 1) % 2
if k > 0:performed_status[j][k - 1] = (performed_status[j][k - 1] + 1) % 2
if k < 5:performed_status[j][k + 1] = (performed_status[j][k + 1] + 1) % 2
performed_status[j + 1][k] = (performed_status[j + 1][k] + 1) % 2
performance[j + 1] = performed_status[j] # update performance
for k in range(6):
if performance[4][k]:
if k > 0: performed_status[4][k - 1] = (performed_status[j][k - 1] + 1) % 2
if k < 5: performed_status[4][k + 1] = (performed_status[j][k + 1] + 1) % 2
if performed_status[4] == [0, 0, 0, 0, 0, 0]:
for ans_1 in performance:
for ans_2 in ans_1:
print(ans_2,end=' ')
print()
break
图片可能不方便佬们看,直接贴链接:
熄灯问题-OJ
回复
共 4 条回复,欢迎继续交流。
正在加载回复...