trang chủ / bài tập / tournadj

Tournament đường kính 2

Đề bài

Mô tả

Một tournament (đồ thị thi đấu) là một đồ thị có hướng không có khuyên, trong đó giữa hai đỉnh phân biệt bất kỳ tồn tại đúng một cung (theo một trong hai hướng).

Cho số nguyên N, hãy xây dựng một tournament trên N đỉnh sao cho với mọi cặp đỉnh có thứ tự (v,u) với vu luôn tồn tại đường đi có hướng từ v đến u gồm không quá 2 cung.

Dữ liệu vào

Một dòng duy nhất chứa số nguyên N (3N1000).

Dữ liệu ra

In ra 1 nếu không tồn tại tournament thỏa mãn.

Ngược lại, in ra ma trận kề A kích thước N×N của tournament tìm được: N dòng, mỗi dòng gồm N số nguyên cách nhau bởi dấu cách. Phần tử av,u bằng 1 nếu có cung từ v đến u và bằng 0 nếu không. Ma trận phải thỏa mãn:

  • av,v=0 với mọi v.
  • av,u+au,v=1 với mọi vu.

Nếu có nhiều ma trận hợp lệ, in ra ma trận bất kỳ.

Ràng buộc

  • 3N1000

Ví dụ

Input Output Giải thích
3 0 1 0
0 0 1
1 0 0
Tournament chu trình 1231. Mọi cặp (v,u) đều có đường đi độ dài 2, ví dụ 13 qua 123.
4 -1 Không tồn tại tournament 4 đỉnh có đường kính 2.

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