時間限制:3000 ms | 記憶體限制:65535 kb
難度:6
描述展館是未來城市的縮影,個人體驗和互動是不變的主題。在a國展館通過多維模式和高科技手段,引領參觀者在展示空間踏上一段虛擬的城市之旅。
夢幻國有n個城市和m條道路,每條道路連線某兩個城市。任意兩個城市之間最多只有一條道路直接相連。這m條道路中有一部分為單向通行的道路,一部分為雙向通行的道路。
夢幻國幅員遼闊,各地的資源分布情況各不相同,這就導致了同一種商品在不同城市的**不一定相同。但是,同一種商品在同乙個城市的**價和賣出價始終是相同的。
現在你已踏上一段虛擬的城市之旅。為了給你乙個意外收穫,允許你在旅遊的同時,利用 x 商品在不同城市中的差價賺回一點旅費,但最多只能交易一次。即,在某個城市**x 商品,可以走到另外乙個城市買掉來獲得旅費。當然,在賺不到差價的情況下,你也可以不進行**活動。
設夢幻國n個城市的標號從1~ n,你只能從1 號城市出發,並最終在n 號城市結束自己的旅行。在旅遊的過程中,任何城市可以重複經過多次,但不要求經過所有n個城市。
例如:夢幻國有5個大城市,城市的編號和道路連線情況如下圖,單向箭頭表示這條道路為單向通行,雙向箭頭表示這條道路為雙向通行。假設 x 商品在1~5 號城市的**分別為 4,3,5,6,1。
你也可以選擇如下一條線路14545,並在第1次到達5號城市時以1的****x 商品,在第2次到達4號城市時以6 的**賣出x 商品,賺取的旅費數為5。
現在給出n個城市的x 商品**,m條道路的資訊(每條道路所連線的兩個城市的編號以及該條道路的通**況)。請問你能賺取盡可能多的旅費嗎。
輸入有多組測試資料(以eof為檔案結束的標誌)
每組測試資料的格式如下:
第一行:n m 分別表示城市的數目和道路的數目。
第二行:n個正整數,每兩個整數之間用乙個空格隔開,分別表示1到n個城市的商品**。
接下來 m行,每行有3個正整數,x,y,z,每兩個整數之間用乙個空格隔開。
如果 z=1,表示這條道路是城市x到城市y之間的單向道路;
如果z=2,表示這條道路為城市x 和城市y之間的雙向道路。
1≤n≤100000,1≤m≤500000,
1≤x,y≤n,1≤z≤2,1≤商品**≤100。
輸出輸出1個整數,表示最多能賺取的旅費。如果沒有進行**,則輸出0。
樣例輸入
5 5
4 3 5 6 1
1 2 1
1 4 1
2 3 2
3 5 1
4 5 2
樣例輸出
5
思路:題意很明顯,找乙個點,起點能到達它,並且還能回到終點,並且,差值最大。直接暴力,然後就超時。看了題解,發現用的時spfa,雙向跑圖。
ac**:(鄰接表)
#includeusing namespace std;
const int max = 100010;
int a[max], b[max];//a放最小值,b放最大值
vectorg1[max];//存圖
vectorg2[max];
void spfa(int s, int n)
} }//下面是反向的。都一樣
mark2[n] = 1;
q.push(n);
while(!q.empty())
} }int ans = 0;
for(int i = 1; i <= n; i++)
printf("%d\n", ans);
}int main()
memset(g1, sizeof(g2), 0);
memset(g2, sizeof(g2), 0);
while(m--)
} spfa(1, n);
}}
還有就是用前向星代替vector
這個是介紹前向星的blog:點選開啟鏈結
前向星題解, 推薦blog:點選開啟鏈結
NYOJ 24 素數距離問題
時間限制 3000 ms 記憶體限制 65535 kb難度 2 描述 現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0 輸入第一行給出測試資料組數n 0輸出...
NYOJ24 素數距離問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0 輸入第一行給出測試資料組數n 0輸...
nyoj 24 素數距離問題
時間限制 3000 ms 記憶體限制 65535 kb難度 2 描述 現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0 輸入第一行給出測試資料組數n 0輸出...