trang chủ / đề bài / voi20_stars

Các chòm sao

Đề bài

Mô tả

Sau nhiều ngày quan sát các ngôi sao trên bầu trời, Alice nhận thấy có n chòm sao. Mỗi chòm sao bao gồm một số lượng chẵn các ngôi sao có quy luật vận động giống nhau. Để thuận lợi cho việc theo dõi và khảo sát, Alice đánh số các chòm sao từ 1 đến n. Trong mỗi chòm sao đó, các ngôi sao được đánh thứ tự từ 1 cho đến số lượng ngôi sao có trong chòm sao. Alice xem xét các ngôi sao trên một hệ trục tọa độ Đề-các, trong đó ngôi sao thứ i trong chòm sao thứ s có tọa độ nguyên (xis,yis). Sau khi phân tích về mặt hình học, Alice phát hiện ra các đặc tính sau:

  • Trong mỗi chòm sao có duy nhất một ngôi sao không di chuyển, ngôi sao này được đánh số thứ tự 1 trong chòm sao đó. Tất cả các ngôi sao còn lại, sau mỗi ngày, mỗi ngôi sao sẽ di chuyển đến một vị trí mới bằng cách thực hiện cùng một góc quay khi lấy ngôi sao được đánh số thứ tự 1 làm tâm. Góc quay của mỗi chòm sao là một trong 3 loại 90o, 180o, 270o theo chiều kim đồng hồ;
  • Tại bất kỳ ngày nào, luôn tồn tại cách vẽ, nối vị trí của tất cả các ngôi sao của mỗi chòm sao thành một đa giác chuẩn không tự cắt, có số đỉnh bằng số ngôi sao trong chòm sao và các đỉnh của đa giác là vị trí của các ngôi sao. Đa giác chuẩn không tự cắt là đa giác có các cạnh song song với trục tọa độ, không có 3 đỉnh nào liên tiếp thẳng hàng và không có 2 cạnh không liên tiếp nào của đa giác có điểm chung.

Để khảo sát độ phân tán của các chòm sao, sau mỗi ngày, với vị trí mới của các ngôi sao trong mỗi chòm sao, Alice sẽ vẽ một đa giác chuẩn không tự cắt cho từng chòm sao để diện tích được phủ bởi tất cả n đa giác trên hệ trục tọa độ là lớn nhất.

Yêu cầu: Cho tọa độ các ngôi sao của mỗi chòm sao tại ngày đầu tiên (ngày 0) mà Alice tiến hành quan sát cùng với quy luật quay của từng chòm sao. Hãy tính diện tích phủ lớn nhất bởi n đa giác được vẽ ở ngày thứ d.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên dương n và số tự nhiên d;
  • Tiếp theo là n nhóm dòng, mỗi nhóm mô tả về một chòm sao. Nhóm dòng thứ s (1≤s≤n) có khuôn dạng như sau:
    • Dòng đầu chứa hai số gs và rs, trong đó gs là số ngôi sao trong chòm sao (gs là số chẵn thỏa mãn 4≤gs≤100) và rs là giá trị góc quay (một trong 3 loại giá trị 90, 180, 270);
    • Dòng thứ i trong gs dòng tiếp theo chứa hai số nguyên xis,yis (|xis|,|yis|≤106). Các ngôi sao trong cùng một chòm sao có tọa độ phân biệt.

Các số trên cùng một dòng cách nhau bởi dấu cách.

Dữ liệu ra

In ra một số nguyên duy nhất là diện tích phủ lớn nhất bởi n đa giác chuẩn được vẽ ở ngày thứ d.

Ràng buộc

  • 1≤n≤1000, 0≤d≤106;
  • gs chẵn, 4≤gs≤100; rs∈{90,180,270};
  • |xis|,|yis|≤106; các ngôi sao trong cùng một chòm sao có tọa độ phân biệt.

Subtasks

  • Subtask 1 (25% số test, 25% số điểm): n≤1000, d=0 và các gs đều có giá trị bằng 4;
  • Subtask 2 (25% số test, 25% số điểm): n≤1000, d≤106 và các gs đều có giá trị bằng 4;
  • Subtask 3 (25% số test, 25% số điểm): n=2, d≤106;
  • Subtask 4 (25% số test, 25% số điểm): n≤1000, d≤106.

Ví dụ

Input Output Giải thích
2 1
4 270
4 4
1 4
1 1
4 1
4 90
5 5
9 5
5 9
9 9
19 Ngày 0: chòm sao 1 là hình vuông [1,4]×[1,4] (tâm quay (4,4)), chòm sao 2 là hình vuông [5,9]×[5,9] (tâm quay (5,5)). Ngày 1: chòm sao 1 quay 270o theo chiều kim đồng hồ quanh (4,4) thành [4,7]×[1,4]; chòm sao 2 quay 90o quanh (5,5) thành [5,9]×[1,5]. Diện tích phủ là 9+16−6=19.
2 2
6 90
0 0
4 0
4 2
2 2
2 4
0 4
4 180
-3 -3
-1 -3
-1 -1
-3 -1
13 Ví dụ thêm (không có trong đề gốc). Chòm sao 1 là hình chữ L diện tích 12, sau 2 ngày quay tổng cộng 180o quanh (0,0) thành [−4,0]×[−2,0] cùng [−2,0]×[−4,−2]. Chòm sao 2 quay 360o nên giữ nguyên hình vuông [−3,−1]×[−3,−1] diện tích 4, chung với chữ L phần diện tích 3. Diện tích phủ là 12+4−3=13.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0