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

Thứ Bậc Thâm Niên

Đề bài

Mô tả

Một phòng thí nghiệm có N thành viên, mỗi người có một mức thâm niên khác nhau. Phòng thí nghiệm đã xuất bản K bài báo, mỗi bài có danh sách tác giả gồm đủ N thành viên.

Danh sách tác giả được sắp xếp theo mức đóng góp giảm dần (người đóng góp nhiều nhất đứng đầu). Nếu hai người đóng góp bằng nhau, họ được sắp xếp theo thứ tự bảng chữ cái. Biết rằng người có thâm niên cao hơn không bao giờ đóng góp nhiều hơn người có thâm niên thấp hơn.

Từ các danh sách tác giả, hãy xác định mối quan hệ thâm niên giữa từng cặp thành viên.

Dữ liệu vào

  • Dòng 1: Hai số nguyên KN
  • Dòng 2: N tên thành viên (chuỗi chữ cái thường, tối đa 10 ký tự)
  • K dòng tiếp theo: Mỗi dòng gồm N tên, là danh sách tác giả của một bài báo

Dữ liệu ra

In N dòng, mỗi dòng N ký tự. Ký tự ở hàng i cột j:

  • B nếu i=j (cùng một người)
  • 1 nếu chắc chắn thành viên i có thâm niên cao hơn thành viên j
  • 0 nếu chắc chắn thành viên i có thâm niên thấp hơn thành viên j
  • ? nếu không thể xác định

Thứ tự thành viên theo dòng 2 của dữ liệu vào.

Ràng buộc

  • 1K,N100
  • Tên thành viên gồm chữ cái thường, tối đa 10 ký tự
  • Không có hai thành viên có cùng mức thâm niên

Ví dụ

Input Output Giải thích
1 3
dean elsie mildred
elsie mildred dean
B11
0B?
0?B
Trong bài báo, elsie đứng trước mildred (đúng thứ tự abc) nên có thể do cùng mức đóng góp. Nhưng elsie đứng trước dean (sai thứ tự abc), nên elsie đóng góp nhiều hơn dean, suy ra dean thâm niên cao hơn. Tương tự mildred đứng trước dean.
2 3
elsie mildred dean
elsie mildred dean
elsie dean mildred
B00
1B0
11B
Từ bài 1: elsie > mildred > dean (đóng góp). Bài 2 xác nhận elsie > dean > mildred. Kết hợp lại: dean thâm niên cao nhất, rồi mildred, rồi elsie.

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