Ít trận hòa nhất

Đề bài

Mô tả

Một giải bóng đá có n đội tham dự, mỗi cặp đội thi đấu với nhau đúng một trận.

Mỗi trận có hai khả năng:

  • Hòa: cả hai đội cùng được 1 điểm.
  • Có đội thắng: đội thắng được 3 điểm, đội thua được 0 điểm.

Điểm của một đội là tổng số điểm đội đó giành được qua tất cả các trận đã đấu.

Bạn cần chọn kết quả cho mọi trận sao cho tất cả n đội có điểm bằng nhau, đồng thời số trận hòa là ít nhất có thể.

Có thể chứng minh rằng luôn tồn tại cách sắp xếp thỏa mãn điều kiện điểm bằng nhau.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t: số bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm một dòng chứa số nguyên n: số đội tham dự.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra n(n1)2 số nguyên mô tả kết quả các trận theo thứ tự: trận giữa đội 1 và đội 2, giữa đội 1 và đội 3, ..., giữa đội 1 và đội n, rồi giữa đội 2 và đội 3, ..., cho tới trận giữa đội n1 và đội n.

Số ứng với trận giữa đội x và đội y (với x<y) là 1 nếu x thắng, 1 nếu y thắng, và 0 nếu hai đội hòa.

Nếu có nhiều đáp án tối ưu, in ra đáp án bất kỳ.

Ràng buộc

  • 1t100
  • 2n100

Ví dụ

Input Output Giải thích
2
2
3
0
1 -1 1
Với n=2 chỉ có một trận; muốn hai đội bằng điểm thì bắt buộc phải hòa, cả hai cùng được 1 điểm. Với n=3: đội 1 thắng đội 2, đội 3 thắng đội 1, đội 2 thắng đội 3, mỗi đội được đúng 3 điểm và không có trận hòa nào.
1
10
1 1 1 1 0 -1 -1 -1 -1 1 1 1 1 0 -1 -1 -1 1 1 1 1 0 -1 -1 1 1 1 1 0 -1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 Mỗi đội thắng 4 trận, thua 4 trận và hòa 1 trận, được 13 điểm. Vì n chẵn nên mỗi đội đấu 9 trận (số lẻ), không thể chia đều thắng thua nếu không hòa, nên 5 trận hòa là ít nhất có thể.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0