Cách đọc 1 file input có 5 case 1 case là 2 dòng và ghi file như thế nào?
Đọc như đề bảo.
for STUPIDTESTCASE in range(5):
# đọc từng test, mỗi test gồm 2 dòng
Mình sửa lại rồi nhưng k hiểu sao output chỉ in ra một kết quả mà không phải là 5
file input:
6 2 3
1 2 3 6 5 9
5 2 4
1 5 -1 -2 4
4 2 3
-1 -2 -3 4
6 2 4
-2 -3 -4 0 1 2
7 3 -4
-1 -2 -3 0 -1 2 3
lines = open("maxsubseq.inp").readlines()
for i in range(5):
B=map(lambda x: int(x), lines[2*i].split(' '))
n=B[0]
l1=B[1]
l2=B[2]
A=map(lambda x: int(x), lines[2*i+1].split(' '))
def tinhtrongso(A, n, l):
lonnhat = 0
t = 0
for j in range(0, l - 1 + 1):
t = t + A[j]
lonnhat = t
for i in range(0, n - l + 1):
t = 0
j = i
for j in range(0, l - 1 + i + 1):
t = t + A[j]
if (t > lonnhat):
lonnhat = t
return lonnhat
def tongtrongsocucdai(A, n, l1, l2):
lonnhat = tinhtrongso(A, n, l1)
i = l1 + 1
for i in range(0, l2 + 1):
tinhtrongso(A, n, i)
if (lonnhat < tinhtrongso(A, n, i)):
lonnhat = tinhtrongso(A, n, i)
return lonnhat
a = tongtrongsocucdai(A, n, l1, l2)
file = open("maxsubseq.out", "wb")
file.write(str(a))
Rõ ràng là input của test nào thì phải cho output của test đấy chứ, bạn phải đưa
a = tongtrongsocucdai(A, n, l1, l2)
file.write(str(a))
vào for 5 test. Còn bạn phải mở sẵn file output trước khi chạy 5 test case.
1 Like

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?