题解 P1296 【奶牛的耳语】
题目不难。
先把所有奶牛的位置排成从小到大,然后再一头头判断。
比如说第i头奶牛,就比较第i头和第i+1头奶牛的距离,如果小于等于k(声音传播距离)就算一对。
注意排序用快排,不要用冒泡!你以为你是金鱼吗?
-#include <iostream>-
-#include <algorithm>-
-using namespace std;-
-int a[1000001],n,k,s=0;---s是总共有几对
-int main()-
-{-
- cin>>n>>k;-
- for(int i=1;i<=n;i++)cin>>a[i];-
- sort(a+1,a+n+1);---快排,记得加头文件
- for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++)if(a[i]+k>=a[j])s++;else break;---判断是否成为一对
- cout<<s;---输出总数
- return 0;-
-} -
机智地完成