時間限制:c/c++語言1000ms;其他語言3000ms
記憶體限制:c/c++語言65536kb;其他語言589824kb
題目描述:
戰爭遊戲的至關重要環節就要到來了,這次的結果將決定王國的生死存亡,小b負責首度的防衛工作。首都處於乙個四面環山的盆地,周圍的n個小山構成乙個環,作為預警措施,小b計畫在每個小山上設定乙個觀察哨,日夜不停的瞭望周圍發生的情況。
一旦發生外敵入侵事件,山頂上的崗哨將點燃烽煙。若兩個崗哨所在的山峰之間沒有更高的山峰遮擋兩者之間有相連通路,則崗哨可以觀察到另乙個山峰上的烽煙是否點燃。由於小山處於環上,任意兩個小山之間存在兩個不同的連線通路,滿足上述不遮擋的條件下,一座山峰上崗哨點燃的烽煙至少可以通過一條通路被另一端觀察到。對於任意相鄰的崗哨,一端的崗哨一定可以發現一端點燃的烽煙。
小b設計的這種保衛方案的乙個重要特性是能夠觀測到對方烽煙的崗哨對的數量,她希望你能夠幫助她解決這個問題。
輸入:
輸入中有多組測試資料。每組測試資料的第一行為乙個整數n(3<=n<=10^6),為首都周圍的小山數量,第二行為n個整數,依次表示小山的高度h,(1<=h<=10^9)。
輸出:
對每組測試資料,在單獨的一行中輸出能相互觀察到的崗哨的對數
樣例輸入:
5
1 2 4 5 3
樣例輸出
7
思路:取兩座山峰作為兩端,當兩端的最小值大於中間山峰中的最大值時,這兩座山峰是可以互相瞭望到的。
c++**
#include#includeusing namespace std;
int n; //小山的數量
int location(int num) //for
int count=0;
for(int i=0; imax)
max=h[k];
}int min=h[i]max)
count++;}}
cout<
京東校招筆試題
題目摘自牛客網 給定字串 ascii碼0 255 陣列,請在不開闢額外空間的情況下刪除開始和結尾處的空格,並將中間的多個連續的空格合併成乙個。例如 i am a little boy.變成 i am a little boy 語言不限,但不要用偽 作答,函式輸入輸出請參考如下的函式原型 void f...
保衛方案(京東2017筆試題)
戰爭遊戲的至關重要環節就要到來了,這次的結果將決定王國的生死存亡,小b負責首都的防衛工作。首都位於乙個四面環山的盆地中,周圍的n個小山構成乙個環,作為預警措施,小b計畫在每個小山上設定乙個觀察哨,日夜不停的瞭望周圍發生的情況。一旦發生外地入侵事件,山頂上的崗哨將點燃烽煙,若兩個崗哨所在的山峰之間沒有...
京東 2019校招筆試 對比
現有n個物品,每個物品有三個引數 ai bi ci 定義i物品不合格品的依據是 若存在物品 j 且aj ai bj bi cj ci,則稱i物品為不合格品。現給出n個物品的a,b,c引數,請你求出不合格品的數量。第一行包含乙個整數n 1 n 500000 表示物品的數量。接下來有n行,每行有三個整數...