全部评论 2

  • def solve(n, m, columns):
        moves = []
        target_column = [[] for _ in range(n + 1)] 
        color_count = {}  
    
        for i in range(n):
            for j in range(m):
                color = columns[i][j]
                if color not in color_count:
                    color_count[color] = 0
                color_count[color] += 1
                target_column[color].append(i + 1)
    
        for color, columns_list in enumerate(target_column, 1):
            while len(columns_list) > 1:
                from_column = columns_list.pop()
                to_column = columns_list[0]
                moves.append(f"{from_column} {to_column}")
    
        return len(moves), moves
    
    n, m = map(int, input().split())
    columns = [list(map(int, input().split())) for _ in range(n)]
    
    k, move_list = solve(n, m, columns)
    print(k)
    for move in move_list:
        print(move)
    

    2024-08-19 来自 广东

    0
  • wc 要考虑的边界太多了

    2024-04-21 来自 北京

    0

热门讨论