Em có một bài toán giải thuật tham lam quen thuộc như này ạ
Có n công việc, được phân công cho m máy khác nhau thực hiện đồng thời. Hãy viết chương trình dùng kỹ thuật THAM LAM để tìm một phương án phân công sao cho thời gian để các máy hoàn thành hết n công việc là ngắn nhất…
Input: m,n
m dòng tiếp theo, mỗi dòng chứa n số nguyên dương x0, x1, …, xn-1 Trong đó số xi ở dòng thứ j là thời gian cần thiết để máy thứ j hoàn thành công việc i.
Output:Xuất trên một dòng n số nguyên dương y0, y1, …,yn-1, giá trị mỗi số trong đoạn [0, m-1] trong đó giá trị của yi là số thứ tự của máy được phân công để thực hiện công việc i.
vd
8 3
79 1 80 59 75 51 7 29
49 71 44 55 22 61 31 88
59 28 9 19 18 60 54 68
=> 1 0 2 2 2 0 0 0
n, m = list(map(int,input().split()))
a = [[int(0) for i in range(m)] for j in range(n)]
for i in range(m):
a[i] = list(map(int,input().split()))
for i in range(n):
pos = 0
for j in range(m):
if a[j][i] <= a[pos][i]:
pos = j
print(pos, end = " ")
Em có 1 vài test case bị sai và em thử trường hợp 2 thời gian 2 máy giống nhau cũng không được ạ. Mọi người ai nhận ra lỗi sai giúp em với ạ. Em cảm ơn