日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

洛谷 P1343 地震逃生

發(fā)布時間:2025/7/25 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷 P1343 地震逃生 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

汶川地震發(fā)生時,四川**中學正在上課,一看地震發(fā)生,老師們立刻帶領(lǐng)x名學生逃跑,整個學校可以抽象地看成一個有向圖,圖中有n個點,m條邊。1號點為教室,n號點為安全地帶,每條邊都只能容納一定量的學生,超過樓就要倒塌,由于人數(shù)太多,校長決定讓同學們分成幾批逃生,只有第一批學生全部逃生完畢后,第二批學生才能從1號點出發(fā)逃生,現(xiàn)在請你幫校長算算,每批最多能運出多少個學生,x名學生分幾批才能運完。

輸入輸出格式

輸入格式:

?

第一行3個整數(shù)n,m,x(x<2^31,n<=200,m<=2000);以下m行,每行三個整數(shù)a,b,c(a1,a<>b,0描述一條邊,分別代表從a點到b點有一條邊,且可容納c名學生。

?

輸出格式:

?

兩個整數(shù),分別表示每批最多能運出多少個學生,x名學生分幾批才能運完。如果無法到達目的地(n號點)則輸出“Orz Ni Jinan Saint Cow!”

?

輸入輸出樣例

輸入樣例#1:
6 7 7 1 2 1 1 4 2 2 3 1 4 5 1 4 3 1 3 6 2 5 6 1 輸出樣例#1:
3 3

說明

【注釋】

比如有圖

1 2 100

2 3 1

100個學生先沖到2號點,然后1個1個慢慢沿2-3邊走過去

18神牛規(guī)定這樣是不可以的……

也就是說,每批學生必須同時從起點出發(fā),并且同時到達終點

?

最大流 裸題

屠龍寶刀點擊就送

#include <cstring> #include <cstdio> #include <vector> #include <queue> #define inf 0x7fffffusing namespace std;bool vis[301]; int maxn,cs,deep[301],Answer,x,m,n,mp[301][301],i,j; bool bfs(int s,int t) {queue<int>q;memset(deep,-1,sizeof(deep));q.push(s);deep[s]=0;while(!q.empty() ){int Tp=q.front() ;q.pop();for(i=1;i<=n;++i){if(mp[Tp][i]&&deep[i]==-1){deep[i]=deep[Tp]+1;if(i==n) return 1;else q.push(i); }}}return 0; } void dfs(int s,int t) {memset(vis,0,sizeof(vis));vis[s]=1;vector<int>vec;vec.push_back(s);while(!vec.empty() ){int p=vec.back() ;if(p==n){int k,minx=inf;for(i=1;i<vec.size() ;++i){int u=vec[i-1],v=vec[i];if(mp[u][v]>0&&mp[u][v]<minx){k=u;minx=mp[u][v];}}Answer+=minx;cs++;maxn=max(maxn,minx);for(i=1;i<vec.size() ;++i){int u=vec[i-1],v=vec[i];mp[u][v]-=minx;mp[v][u]+=minx;}while(!vec.empty() &&vec.back() !=k){vis[vec.back() ]=0;vec.pop_back();}}else{int l;for(l=1;l<=n;++l){if(mp[p][l]>0&&!vis[l]){vec.push_back(l);vis[l]=1; break;}}if(l>n) vec.pop_back();}} } void Dinic(int s,int t) {while(bfs(s,t))dfs(s,t); } int main() {scanf("%d%d%d",&n,&m,&x);int u,v,l;for(i=0;i<m;++i){scanf("%d%d%d",&u,&v,&l);mp[u][v]+=l;}Dinic(1,n);if(Answer==0)printf("Orz Ni Jinan Saint Cow!");else printf("%d %d\n",Answer,(x%Answer==0)?x/Answer:x/Answer+1);return 0; }

?

轉(zhuǎn)載于:https://www.cnblogs.com/ruojisun/p/6506912.html

總結(jié)

以上是生活随笔為你收集整理的洛谷 P1343 地震逃生的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。