PTA 7 5 地下迷宮探索 30分

2021-10-01 07:03:54 字數 1108 閱讀 3390

地道戰是在抗日戰爭時期,在華北平原上抗日軍民利用地道打擊日本侵略者的作戰方式。地道網是房連房、街連街、村連村的地下工事,如下圖所示。

我們在回顧前輩們艱苦卓絕的戰爭生活的同時,真心欽佩他們的聰明才智。在現在和平發展的年代,對多數人來說,探索地下通道或許只是一種娛樂或者益智的遊戲。本實驗案例以探索地下通道迷宮作為內容。

假設有乙個地下通道迷宮,它的通道都是直的,而通道所有交叉點(包括通道的端點)上都有一盞燈和乙個開關。請問你如何從某個起點開始在迷宮中點亮所有的燈並回到起點?

樣例圖的測試資料:

8 10 1

1 22 6

6 44 7

7 83 4

4 51 5

3 51 7

深度遍歷的變形,只要每條分支遍歷到盡頭時將其節點在入棧一次即可

#include

#include

#include

#include

#include

#include

using

namespace std;

int vis[

1001]=

;set<

int> s;

vector<

int> v[

1001

],v2;

void

dfs(

int s)}}

intmain()

for(

int i=

1;i<=n;i++

)fill

(vis+

1,vis+n+1,

0);dfs

(s);

for(

int i=

0;isize()

-1;i++

)printf

("%d"

,v2[v2.

size()

-1])

;for

(int i=

1;i<=n;i++)}

return0;

}

PTA 7 5 冒泡法排序

將n個整數按從小到大排序的氣泡排序法是這樣工作的 從頭到尾比較相鄰兩個元素,如果前面的元素大於其緊隨的後面元素,則交換它們。通過一遍掃瞄,則最後乙個元素必定是最大的元素。然後用同樣的方法對前n 1個元素進行第二遍掃瞄。依此類推,最後只需處理兩個元素,就完成了對n個數的排序。本題要求對任意給定的k 輸...

PTA 7 5 堆的路徑

本題主要考察堆的性質 建堆,向堆中插入資料 將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h i 到根結點的路徑。每組測試第1行包含2個正整數n和m 1000 分別是插入元素的個數 以及需要列印的路徑條數。下一行給出區間 10000,10000 內的n個要被插入乙個初始為...

PTA 7 5 裝箱問題(20 分)

7 5 裝箱問題 20 分 假設有n 項物品,大小分別為s 1 s 2 s i s n 其中s i 為滿足1 s i 10 0的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程...