• 万万没想到之抓捕孔连顺


    我叫王大锤,是一名特工。我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺。和我一起行动的还有另外两名特工,我提议
     
    1. 我们在字节跳动大街的N个建筑中选定3个埋伏地点。
    2. 为了相互照应,我们决定相距最远的两名特工间的距离不超过D。
     
    我特喵是个天才! 经过精密的计算,我们从X种可行的埋伏方案中选择了一种。这个方案万无一失,颤抖吧,孔连顺!
    ……
    万万没想到,计划还是失败了,孔连顺化妆成小龙女,混在cosplay的队伍中逃出了字节跳动大街。只怪他的伪装太成功了,就是杨过本人来了也发现不了的!
     
    请听题:给定N(可选作为埋伏点的建筑物数)、D(相距最远的两名特工间的距离的最大值)以及可选建筑的坐标,计算在这次行动中,大锤的小队有多少种埋伏选择。
    注意:
    1. 两个特工不能埋伏在同一地点
    2. 三个特工是等价的:即同样的位置组合(A, B, C) 只算一种埋伏方法,不能因“特工之间互换位置”而重复使用
     

    输入描述:
    第一行包含空格分隔的两个数字 N和D(1 ≤ N ≤ 1000000; 1 ≤ D ≤ 1000000)

    第二行包含N个建筑物的的位置,每个位置用一个整数(取值区间为[0, 1000000])表示,从小到大排列(将字节跳动大街看做一条数轴)

    输出描述:
    一个数字,表示不同埋伏方案的数量。结果可能溢出,请对 99997867 取模

    输入例子1:
    4 3
    1 2 3 4

    输出例子1:
    4

    例子说明1:
    可选方案 (1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)

    输入例子2:
    5 19
    1 10 20 30 50

    输出例子2:
    1

    例子说明2:
    可选方案 (1, 10, 20)

     1 import java.util.*;
     2 
     3 public class Main {
     4     public static void main(String[] args) {
     5         Scanner scanner = new Scanner(System.in);
     6 
     7         while (scanner.hasNextLine()) {
     8             String l1 = scanner.nextLine();
     9             String l2 = scanner.nextLine();
    10 
    11             Integer N = Integer.valueOf(l1.split(" ")[0]);
    12             Integer D = Integer.valueOf(l1.split(" ")[1]);
    13 
    14             String[] str = l2.split(" ");
    15 
    16             Integer result = 0;
    17 
    18             for (int i = 0; i <= str.length - 1; i++) {
    19                 for (int k = i + 2; k <= str.length - 1; k++) {
    20                     if (Integer.valueOf(str[k]) - Integer.valueOf(str[i]) <= D) {
    21                         result = result + k- i -1;
    22                     }
    23                     else{
    24                         break;
    25                     }
    26                 }
    27 
    28             }
    29             result =  result % 99997867;
    30             System.out.println(result);
    31 
    32         }
    33     }
    34 }
  • 相关阅读:
    实习小白::(转) Cocos2d-x 3.0开发(五)关联程序逻辑与cocoStudio导出文件
    实习小白::(转)Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画
    实习小白::(转) Cocos2d-x 3.0 开发(七)在程序中处理cocoStudio导出动画
    实习小白::(转) cocos2d-x使用cocosStudio编辑的动画文件
    (转)cocos2d-x 每帧动画的播放设置一个监听函数的做法
    Filter
    使用Cookie记住用户名和密码
    动态规划
    热分布
    背包问题
  • 原文地址:https://www.cnblogs.com/zjf1987/p/12581250.html
Copyright © 2020-2023  润新知