#81. Đấu Trường Vĩnh Cửu (Mã bài: ARENA)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Tại Đấu Trường Vĩnh Cửu, các chiến binh vĩ đại nhất từ khắp mọi miền tụ họp để tranh tài trong một giải đấu danh giá. Giải đấu diễn ra theo thể thức vòng tròn, nhưng với một quy tắc đặc biệt: không có kết quả hòa. Nếu một trận đấu bất phân thắng bại, các trọng tài sẽ dựa vào một thử thách phụ để xác định người chiến thắng duy nhất.

Giải đấu đã diễn ra được một thời gian, và ban tổ chức muốn xác định những chiến binh nào vẫn còn cơ hội giành lấy ngôi vị cao nhất (ứng viên vô địch). Một chiến binh được coi là "ứng cử viên vô địch" nếu tồn tại ít nhất một kịch bản cho các trận đấu còn lại, mà sau khi tất cả các trận kết thúc, tổng số trận thắng của người đó không ít hơn bất cứ chiến binh nào khác.

Nhiệm vụ của bạn là, dựa vào kết quả các trận đã đấu và lịch thi đấu các trận còn lại, hãy tìm ra tất cả các ứng cử viên vô địch.

Dữ liệu:

  • Dòng đầu tiên chứa số nguyên T ( 1 \le T < 10 ) – số lượng các kịch bản giải đấu cần phân tích.
  • Mỗi kịch bản bao gồm các thông tin sau:
    • Dòng đầu tiên chứa số nguyên N ( 2 \le N \le 100 ) – tổng số chiến binh tham gia. Các chiến binh được đánh số từ 1 đến N .
    • N dòng tiếp theo tạo thành một ma trận A kích thước N \times N . Phần tử A_{i,j} ( 0 \le A_{i,j} \le 10^9 ) ở hàng i , cột j là số trận chưa diễn ra giữa chiến binh i và chiến binh j . Dĩ nhiên, A_{i,i} luôn bằng 0 .
    • Dòng cuối cùng chứa N số nguyên W_1, W_2, ..., W_N ( 0 \le W_i \le 10^9 ), trong đó W_i là số trận thắng mà chiến binh i đã có được tính đến thời điểm hiện tại.

Kết quả: Với mỗi kịch bản, in ra một dòng duy nhất theo định dạng sau:

  • Bắt đầu bằng một số nguyên x là số lượng ứng cử viên vô địch.
  • Theo sau là x số nguyên, là chỉ số của các chiến binh đó, được sắp xếp theo thứ tự tăng dần.

Ví dụ:

Dữ liệu:

2
3
0 1 2
1 0 0
2 0 0
2 2 0
3
0 1 3
1 0 0
3 0 0
2 2 0

Kết quả:

2 1 2
3 1 2 3

Giới hạn:

  • Subtask #1 (10% số điểm): Tổng số trận chưa đấu không vượt quá 20 và N \le 20 .
  • Subtask #2 (20% số điểm): Tổng số trận chưa đấu không vượt quá 20.
  • Subtask #3 (70% số điểm): Không có ràng buộc gì thêm.