Sơn Cọc Hàng Rào

Đề bài

Mô tả

Farmer John có N con bò (1N105) hàng ngày đi dạo quanh hàng rào bao quanh đồng cỏ. Hàng rào gồm P cọc (4P2×105, P chẵn) tại các tọa độ 2D phân biệt. Các cọc nối với nhau bằng đoạn thẳng ngang hoặc dọc, tạo thành đa giác kín vuông góc.

Mỗi con bò đi từ vị trí bắt đầu đến vị trí kết thúc trên hàng rào theo hướng ngắn hơn. Một con bò chạm vào cọc nếu nó đi ngang qua cọc đó, hoặc cọc đó là điểm bắt đầu/kết thúc của nó.

Hãy đếm số lần mỗi cọc bị chạm.

Dữ liệu vào

  • Dòng 1: Hai số nguyên NP
  • P dòng tiếp: Hai số nguyên x, y -- tọa độ mỗi cọc (không nhất thiết theo thứ tự quanh hàng rào)
  • N dòng tiếp: Bốn số nguyên x1, y1, x2, y2 -- vị trí bắt đầu và kết thúc

Dữ liệu ra

  • P số nguyên, số thứ i là số lần cọc thứ i (theo thứ tự đầu vào) bị chạm.

Ràng buộc

  • 1N105
  • 4P2×105, P chẵn
  • 0x,y109
  • Giới hạn thời gian: 3s, bộ nhớ: 512MB
  • Test 4-6: N,P1000
  • Test 7-9: 0x,y1000

Ví dụ

Input Output Giải thích
5 4
3 1
1 5
3 5
1 1
2 1 1 5
1 5 3 4
3 1 3 5
2 1 2 1
3 2 3 3
1
2
2
1
4 cọc tạo hình chữ nhật. 5 con bò đi trên hàng rào, mỗi cọc bị chạm số lần khác nhau.
2 8
1 1
1 2
0 2
0 3
0 0
0 1
2 3
2 0
1 1 2 1
1 0 1 3
1
0
0
0
1
1
1
2
8 cọc tạo đa giác phức tạp hơn.

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