地图上探测器扫描到的范围(洛谷P3717题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
地图上探测器扫描到的范围(洛谷P3717题题解,Java语言描述)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求
P3717題目鏈接
分析
這題我做的很暴力,就直接建一個二維數組,模擬地圖。
每次都直接跑一趟數組,看看探測器為圓心的圓內的點有啥,做好計數就行。
參考記憶化搜索,我們可以去防止重復計數。
AC代碼(Java語言描述)
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int range = scanner.nextInt(), num = scanner.nextInt(), radius = scanner.nextInt(), counter = 0;byte[][] array = new byte[range][range];for (int i = 0; i < num; i++) {int x = scanner.nextInt()-1, y = scanner.nextInt()-1;for (int j = 0; j < range; j++) {for (int k = 0; k < range; k++) {if (array[j][k] == 0 && Math.pow((x-j), 2) + Math.pow((y-k), 2) <= Math.pow(radius, 2)) {array[j][k] = 1;counter++;}}}}scanner.close();System.out.println(counter);} }總結
以上是生活随笔為你收集整理的地图上探测器扫描到的范围(洛谷P3717题题解,Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python怎么这么香(洛谷P2788题
- 下一篇: 【数据结构与算法】大根堆和优先队列的Ja