最少換站問題

2021-07-31 08:47:41 字數 724 閱讀 1645

n個地點間有多條地鐵線。求最小換站次數。

思路:給每一條地鐵線增加乙個匯點(連通該條線上的所有站點)。圖建好後就是寬度優先搜尋了。

例題:鄭輕玲瓏杯2130: hipercijevi,類似的題有河南省第八屆程式設計-最少換成

下面**用前向星實現,點實在太多了。裡面那個內聯函式是為了提高讀取速度的。若把read()換為scanf()。速度由600ms變為900ms(仍然可以 )

#include #include #include #include #include using namespace std;

inline int read()

while (ch >= '0'&&ch <= '9')

return x*f;

}const int maxn = 2000007;

struct edgeedge[maxn];

int n, k, m, tot, head[101007];

bool vis[101007];

void add(int u, int v)

struct node;

};void init()

int bfs(int v0)

} }return -1;

}int main()

} printf("%d\n", bfs(1)); }

return 0;

}

最少硬幣問題

問題描述 有n種不同面值的硬幣,各硬幣面值存於陣列t 1 n 現用這些面值的錢來找錢 各面值的個數存在陣列num 1 n 中。程式設計任務 對於給定的1 n 10,硬幣面值陣列 各面值的個數及錢數m,0 m 2001,程式設計計算找錢m的最少硬幣數。input 第乙個數字n,後面n行每行兩個數,面值...

最少硬幣問題

本文內容遵從 cc版權協議 設有n 種不同面值的硬幣,各硬幣的面值存於陣列t 1 n 中。現要用這些面值的硬幣來找錢。可以使用的各種面值的硬幣個數與面值分別存於陣列coin 1 n 和t 1 n 中。對任意錢數0 m 20001,設計乙個用最少硬幣找錢m的方法,對於給定的1 n 10,硬幣面值陣列t...

最少硬幣問題

問題描述 設有n 種不同面值的硬幣,各硬幣的面值存於陣列t 1 n 中。現要用這些面值的硬 幣來找錢。可以使用的各種面值的硬幣個數存於陣列coins 1 n 中。對任意錢數0 m 20001,設計乙個用最少硬幣找錢m的方法。程式設計任務 對於給定的1 n 10,硬幣面值陣列t和可以使用的各種面值的硬...