c 電路佈線 30 分

2021-09-29 10:43:58 字數 1290 閱讀 1053

在解決電路佈線問題時,一種很常用的方法就是在佈線區域疊上乙個網格,該網格把佈線區域劃分成m*n個方格,佈線時,轉彎處必須採用直角,如已經有某條線路經過乙個方格時,則在該方格上不允許疊加佈線。如下圖所示,如從乙個方格a(2,1)的中心點到另乙個方格b(8,8)的中心點佈線時, 每個方格佈線時需要1個單位的電路材料,所需要最少的電路材料是16。

輸入格式:

第一行輸入網格的m和n

第二行開始輸入網格中已經佈線的情況,如果已經有佈線時,用1表示,尚未佈線時,用0表示。

接下來兩行分別輸入需要佈線的起始位置a和結束位置b。

輸出格式:

輸出從起始位置a到結束位置b佈線時所需要的最少電路材料。

輸入樣例:

在這裡給出一組輸入。例如:

8 81 1 1 1 1 1 1 1

0 0 0 0 0 1 1 1

1 0 1 1 0 0 0 1

1 0 1 1 0 1 1 0

1 0 1 1 1 1 1 1

1 0 1 1 0 0 0 1

1 0 0 0 0 1 0 0

1 1 1 1 1 1 1 0

2 18 8

輸出樣例:

在這裡給出相應的輸出。例如:

分析:此題不難,由題可知只求最短路徑,而不求走過的點,直接用遞迴來做即可,注意遞迴方法的設計。

#include

#include

#include

using

namespace std;

#define maxn 100

#define maxv 99999

int m, n;

int place[maxn]

[maxn]

;int startx, starty, endx, endy;

intmigong

(int x,

int y)

intmain()

} cin >> startx >> starty >> endx >> endy;

cout<<

migong

(startx,starty)

<

system

("pause");

return0;

}

動態規劃電路佈線

電路佈線簡介 舉例及其詳細說明 塊測試結果 在一塊電路板的上下兩端分別有n個接線柱。根據電路設計,要求用導線 i,i 將上端接線柱i與下端接線柱 i 相連,如圖,其中,i 1 i n,是 1,2 n 的乙個排列.導線 i,i 稱為該電路板上的第i條連線.對於任何1 i小於j n,第i條連線和第j條連...

動態規劃 電路佈線

1 問題描述 在一塊電路板的上 下兩端分別有n個接線柱。根據電路設計,要求用導線 i,i 將上端接線柱i與下端接線柱 i 相連,如下圖。其中,i 1 i n,是 1,2,n 的乙個排列。導線 i,i 稱為該電路板上的第i條連線。對於任何1 i j n,第i條連線和第j條連線相交的充要條件是 i j ...

動態規劃 電路佈線

問題描述 在一塊電路板的上 下兩端分別有n個接線柱。根據電路設計,要求用導線 i,i 將上端接線柱i與下端接線柱 i 相連,如下圖。其中,i 1 i n,是 1,2,n 的乙個排列。導線 i,i 稱為該電路板上的第i條連線。對於任何1 i j n,第i條連線和第j條連線相交的充要條件是 i j 在製...