題目描述:
這一晚,tt 做了個美夢!input在夢中,tt 的願望成真了,他成為了喵星的統領!喵星上有 n 個商業城市,編號 1 ~ n,其中 1 號城市是 tt 所在的城市,即首都。
喵星上共有 m 條有向道路供商業城市相互往來。但是隨著喵星商業的日漸繁榮,有些道路變得非常擁擠。正在 tt 為之苦惱之時,他的魔法小貓咪提出了乙個解決方案!tt 欣然接受並針對該方案頒布了一項新的政策。
具體政策如下:對每乙個商業城市標記乙個正整數,表示其繁榮程度,當每乙隻喵沿道路從乙個商業城市走到另乙個商業城市時,tt 都會收取它們(目的地繁榮程度 - 出發地繁榮程度)^ 3 的稅。
tt 打算測試一下這項政策是否合理,因此他想知道從首都出發,走到其他城市至少要交多少的稅,如果總金額小於 3 或者無法到達請悄咪咪地打出 『?』。
第一行輸入 t,表明共有 t 組資料。(1 <= t <= 50)output對於每一組資料,第一行輸入 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 則輸出 『?』。sample input
2sample output56 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:??
①我們可以將稅費((目的地目的地繁榮程度 - 出發地繁榮程度)^ 3 )看作出發地—目的地的邊權
②這個時候我們就要考慮邊權為負的情況,此時,如果出現負環,則,位於負環上的點,以及能夠通過負環上的點到達的點都將變成負無窮,
③所以我們要進行乙個負環的判斷,spfa演算法當這個點的可到達次數,用cnt表示,cnt>=n時,此時這個點就在負環上
④我們用dfs找到能通過這個點到達的所有點,並且標記,這些點都不能達到,
⑤輸出判斷
if
(dis[p]
<
3||dis[p]
==inf||fu[p]==1
) cout<<
"?"#include
#include
#include
#include
using
namespace std;
const
int inf=
1e8;
const
int m=
1e6;
const
int n=
1e5;
struct edgee[m]
;int head[n]
;int tot=
0,n,m;
void
add(
int x,
int y,
int z)
int vis[n]
,cnt[n]
,dis[n]
,fu[n]
,a[n]
;queue<
int> q;
void
dfs(
int x)
}void
spfa
(int s)if(
!vis[y]
) vis[y]=1
,q.push
(y);}}
}}intmain()
spfa(1
);int q;
cin>>q;
cout<<
"case "
<":"
;while
(q--)}
return0;
}
第七周作業 C
題目描述 這一晚,tt 做了個美夢!在夢中,tt 的願望成真了,他成為了喵星的統領!喵星上有 n 個商業城市,編號 1 n,其中 1 號城市是 tt 所在的城市,即首都。喵星上共有 m 條有向道路供商業城市相互往來。但是隨著喵星商業的日漸繁榮,有些道路變得非常擁擠。正在 tt 為之苦惱之時,他的魔法...
第七周作業作業
1 自建yum倉庫,分別為網路源和本地源 建立yum配置檔案,類似如下 base name base baseurl file misc cd gpgcheck 0 epel name epel baseurl gpgcheck 0 enabled 1 本地源 以前自己整理的 2 編譯安裝http2...
第七周作業
書中習題1 說說下列程式的執行過程和運算結果 include includeusing namespace std double squ double x 函式原形 int main 主函式 書2,不用庫函式,求整數次冪 3.程式設計實現輸入兩個4x5矩陣和5x3矩陣,定義函式並在主函式中呼叫計算它...