Khôi phục khối lập phương

Đề bài

Mô tả

Peter có một khối lập phương với cạnh khác 0. Anh đặt khối lập phương vào không gian ba chiều sao cho các đỉnh có toạ độ nguyên (các cạnh khối không nhất thiết song song với trục toạ độ). Sau đó anh ghi vào một tờ giấy 8 dòng, mỗi dòng chứa 3 số nguyên — toạ độ của một đỉnh của khối lập phương (mỗi đỉnh viết đúng một lần).

Trong lúc Peter vắng mặt, em trai Nick nghịch ngợm: với mỗi dòng, Nick có thể hoán vị các số trong cùng một dòng một số lần tuỳ ý (Nick không bao giờ tráo các số giữa hai dòng khác nhau).

Cho 8 dòng số sau khi Nick đã nghịch, hãy khôi phục lại toạ độ ban đầu của các đỉnh, hoặc xác định rằng không thể có khối lập phương nào ứng với dữ liệu đã cho.

Mỗi dòng của đầu ra phải là một hoán vị của dòng tương ứng ở đầu vào. Cạnh của khối lập phương phải có độ dài khác 0.

Dữ liệu vào

Gồm 8 dòng, mỗi dòng chứa 3 số nguyên — các số viết trên giấy sau khi Nick nghịch.

Dữ liệu ra

  • Nếu tồn tại cách khôi phục, in YES ở dòng đầu, sau đó in 8 dòng, mỗi dòng 3 số nguyên — toạ độ đỉnh khôi phục được. Dòng thứ i của đầu ra phải là một hoán vị của dòng thứ i của đầu vào. Nếu có nhiều cách, in ra một cách bất kỳ.
  • Nếu không tồn tại, in NO (không in gì thêm).

Ràng buộc

  • Mọi số trong đầu vào có giá trị tuyệt đối không vượt quá 106.

Ví dụ

Input Output Giải thích
0 0 0
0 0 1
0 0 1
0 0 1
0 1 1
0 1 1
0 1 1
1 1 1
YES
0 0 0
0 1 0
1 0 0
0 0 1
0 1 1
1 1 0
1 0 1
1 1 1
Khối lập phương đơn vị, các cạnh song song với trục.
0 0 0
0 0 0
0 0 0
0 0 0
1 1 1
1 1 1
1 1 1
1 1 1
NO 4 đỉnh trùng nhau tại (0,0,0)4 đỉnh trùng tại (1,1,1), không thể là một khối lập phương.

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