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

Robot AI

Đề bài

Mô tả

N robot xếp trên một đường thẳng. Robot thứ i được mô tả bởi ba số: vị trí xi, bán kính quan sát ri và chỉ số thông minh qi.

Robot thứ i nhìn thấy robot thứ j nếu j nằm trong tầm quan sát của i, tức là xj[xiri,xi+ri] (bao gồm cả hai đầu mút). Lưu ý tầm nhìn không đối xứng: có thể i nhìn thấy j nhưng j không nhìn thấy i.

Hai robot ij sẽ trò chuyện với nhau khi và chỉ khi cả hai điều kiện sau đồng thời thỏa mãn:

  • Chúng nhìn thấy nhau (robot i nhìn thấy j robot j nhìn thấy i).
  • Chỉ số thông minh của chúng chênh lệch không quá K, tức là |qiqj|K.

Hãy đếm số cặp robot sẽ trò chuyện với nhau.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên NK.
  • N dòng tiếp theo, dòng thứ i chứa ba số nguyên xi, ri, qi: vị trí, bán kính quan sát và chỉ số thông minh của robot thứ i.

Dữ liệu ra

  • In ra một số nguyên duy nhất là số cặp robot sẽ trò chuyện với nhau.

Ràng buộc

  • 1N105
  • 0K20
  • 0xi,ri,qi109

Ví dụ

Input Output Giải thích
3 2
3 6 1
7 3 10
10 5 8
1 Robot 1 nhìn thấy robot 2 nhưng robot 2 không nhìn thấy robot 1, và robot 1 không nhìn thấy robot 3. Robot 2 và robot 3 nhìn thấy nhau và |108|=22, nên chỉ có đúng 1 cuộc trò chuyện.
5 20
1 1 15
2 2 15
3 1 15
100 100 100
200 200 200
2 Ba robot đầu tiên có IQ giống nhau và ở gần nhau: cặp (1,2) và (2,3) nhìn thấy nhau. Cặp (1,3) thì robot 1 (tầm nhìn [0,2]) không thấy robot 3 ở vị trí 3. Hai robot cuối ở quá xa. Tổng cộng 2 cặp.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0