week7 作業C TT的美夢

2021-10-04 23:22:49 字數 2010 閱讀 4883

這一晚,tt 做了個美夢!

在夢中,tt 的願望成真了,他成為了喵星的統領!喵星上有 n 個商業城市,編號 1 ~ n,其中 1 號城市是 tt 所在的城市,即首都。

喵星上共有 m 條有向道路供商業城市相互往來。但是隨著喵星商業的日漸繁榮,有些道路變得非常擁擠。正在 tt 為之苦惱之時,他的魔法小貓咪提出了乙個解決方案!tt 欣然接受並針對該方案頒布了一項新的政策。

具體政策如下:對每乙個商業城市標記乙個正整數,表示其繁榮程度,當每乙隻喵沿道路從乙個商業城市走到另乙個商業城市時,tt 都會收取它們(目的地繁榮程度 - 出發地繁榮程度)^ 3 的稅。

tt 打算測試一下這項政策是否合理,因此他想知道從首都出發,走到其他城市至少要交多少的稅,如果總金額小於 3 或者無法到達請悄咪咪地打出 『?』。

第一行輸入 t,表明共有 t 組資料。(1 <= t <= 50)

對於每一組資料,第一行輸入 n,表示點的個數。(1 <= n <= 200)

第二行輸入 n 個整數,表示 1 ~ n 點的權值 a[i]。(0 <= a[i] <= 20)

第三行輸入 m,表示有向道路的條數。(0 <= m <= 100000)

接下來 m 行,每行有兩個整數 a b,表示存在一條 a 到 b 的有向道路。

接下來給出乙個整數 q,表示詢問個數。(0 <= q <= 100000)

每一次詢問給出乙個 p,表示求 1 號點到 p 號點的最少稅費。

每個詢問輸出一行,如果不可達或稅費小於 3 則輸出 『?』。25

6 7 8 9 10

61 2

2 33 4

1 55 4

4 5245

101 2 4 4 5 6 7 8 9 10

101 2

2 33 1

1 44 5

5 66 7

7 88 9

9 10

23 10

case 1:34

case 2:??

本題考察spfa演算法判斷負環,

spfa演算法判斷負環:

採用佇列進行遍歷並進行鬆弛操作,類似於廣度優先搜尋,按照最終產生的最短路徑上的邊的順序來進行鬆弛操作。對於圖中的點,採取inq陣列表示當前是否在佇列中,同時要新增乙個cnt陣列來記錄最短路徑上的邊數,如果邊數大於或等於點數,則出現負環,此時要對此點進行搜尋(廣搜深搜均可),將與該點連通的點全部打上標記,表示該點收到負環影響。接著判斷佇列中的其他點,直到隊列為空。

本題中將1號城市作為源點執行spfa演算法,將所有可達的節點均遍歷完成且標記好被負環影響的點,最再按照要求進行輸出,若詢問到的點無法到達、被負環影響或者金額小於3,輸出「?」

#include#include#include#includeusing namespace std;

const int maxn = 1e4, inf = 1e7 , maxm=2e5;

int n, m, t, a[maxn], tot, dis[maxn], head[maxn], cnt[maxn], inq[maxn], vis[maxn];

queueq;

struct node

e[maxm];

void add(int u, int v, int w)

void dfs(int u)

}void spfa()

if (!inq[e[i].v])

} }}

int main()

for (int i = 1; i <= n; i++)

cin >> a[i];

cin >> m;

for (int i = 0; i < m + 2; i++)

e[i].w = e[i].v = e[i].next = 0;

while (m--)

spfa();

int q1;

cin >> q1;

printf("case %d:\n", k);

while (q1--)

}return 0;

}

week7作業題 C TT 的美夢

這一晚,tt 做了個美夢!在夢中,tt 的願望成真了,他成為了喵星的統領!喵星上有 n 個商業城市,編號 1 n,其中 1 號城市是 tt 所在的城市,即首都。喵星上共有 m 條有向道路供商業城市相互往來。但是隨著喵星商業的日漸繁榮,有些道路變得非常擁擠。正在 tt 為之苦惱之時,他的魔法小貓咪提出...

程式設計Week7 C TT的美夢

有n個城市,編號為1 n,每個城市有乙個繁榮程度,從城市a走到城市b,需要收取 b繁榮的 a繁榮度 3的稅,求從首都出發,到其他城市要交多少稅,若小於3或無法到達輸出 第一行輸入 t,表明共有 t 組資料。1 t 50 對於每一組資料,第一行輸入 n,表示點的個數。1 n 200 第二行輸入 n 個...

程式設計思維與實踐 Week7 C TT的美夢

c tt的美夢 題目描述 這一晚,tt 做了個美夢!在夢中,tt 的願望成真了,他成為了喵星的統領!喵星上有 n 個商業城市,編號 1 n,其中 1 號城市是 tt 所在的城市,即首都。喵星上共有 m 條有向道路供商業城市相互往來。但是隨著喵星商業的日漸繁榮,有些道路變得非常擁擠。正在 tt 為之苦...