1031 二哥在黃山

2022-04-17 21:21:21 字數 1526 閱讀 5890

二哥與女朋友到黃山旅行。他們在山上玩了一整天,發現天色已晚,該回家了。而突然又開始下起了雨,二哥的女朋友表示非常不爽:「都是你搞的,早知道就不和你來了。」

二哥當然不能拋下女朋友不管,並且二哥也不想露宿在山上。於是他攤開被雨淋溼的地圖。

黃山地圖是乙個n*n的矩陣,矩陣中的每一項表示那個地方的高度。二哥與女朋友處在左上角,他們的住處在右下角。在矩陣中可以朝上下左右走,但不能沿著對角線行走。二哥的女朋友不喜歡顛簸,所以二哥需要找到一條回到住處的路徑,使得路徑上的最高點與最低點之差盡量小,而不需要管這條路徑有多長。

第一行:n 接下來n行 n*n的整數矩陣,(0≤每

點的高度

≤110

'>0≤每點的高度≤110

)。 (2≤n

≤100

'>2≤n

≤100

'>2≤n≤100

乙個整數,表示顛簸最小的路徑中最高點與最低點的高度差。

5

1 1 3 6 8

1 2 2 5 5

4 4 0 3 3

8 0 2 3 4

4 3 0 2 1

2
usaco 2003 u s open

#include #include 

using

namespace

std;

struct

node;

int n,map[101][101]; //

地圖邊長及資料

bool bfs(int low,int

);int

main()

high = max -min;

low = 0

;

while (high>low+1

) }

if (flag) high =mid;

else low =mid;

}cout

}bool bfs(int low,int

high) ,to_y[4] = ; //

便於掃瞄四周點

bool state[101][101] = ; //

判斷是否已經掃瞄

queueopen; //

待掃瞄佇列

if (map[1][1]1][1]>high ||map[n][n]

high) return

false

; node open_in,open_out;

open_in.col = 1

; open_in.raw = 1

; open.push(open_in);

state[

1][1] = 1

;

while (open.size()>0

) state[x][y] = 1

; }

}return

false

;}

1008 二哥買期貨

對起始年份和結束年份,可以對每一天單獨判斷 對中間的每個整年,週末總的天數分為兩部分 1.每個整年恰有完整的52個周,所以至少有 2 52 天是週末 2.閏年時,366 7 2,需要判斷12 31和12 30是否為週末即可,平年需要判斷12 31是否為週末 對中間的每個整年,都有11天假日,注意週末...

1003 二哥養細菌

類似bfs擴充套件的思想 將第一代細菌位置入佇列 佇列中細菌到上下左右沒有細菌的位置進行繁殖 更改這些位置的標記 0 1 繁殖出的新一代細菌入棧 如果棧空,結束,否則佇列清空,棧中的新一代細菌入佇列 如果棧空,說明培養皿已經充滿了 題目保證最終能夠充滿培養皿 複雜度o n 1 include 2 3...

1038 二哥的約瑟夫

話說二哥當年學習資料結構的時候遇到了那道猴子報數的題目,其實這就是經典的約瑟夫問題。可是當年的二哥還是個毛頭小子,只會用模擬的方法,而其他同學卻使用了一些令二哥完全摸不到頭腦的方法。二哥一怒之下改了題目 話說當年花果山的猴子要選大王,選舉辦法如下 所有猴子按1 m編號圍坐一圈,二哥站在圈中心,由二哥...