分析:這題最難的地方在於飛船的週期性,不同時間圖不一樣。。。考慮列舉天數,記xn,m為第n天的第m個點,從xn,m向xn+1,l連一條邊,m,l之間這一天有飛船,容量為飛船容量,然後從xn,m向xn+1,m連一條容量為無窮大,求從地球到月亮的最大流,當最大流》=k停止。
1 #include2 #include3 #include4 #include5 #include6using
namespace
std;
7const
int maxn=1e3+5,inf=1e9;
8struct
edge
11};
12struct
isap
2526
void addedge(int
from,int to,int
cap)
3233
void
bfs()48}
49}50}
5152
intaugmemt()
59 x=t;
60while(x!=s)
65return
a;66}67
68int maxflow(int s,int
t)80
int ok=0;81
for(int i=cur[x];i)90}
91if(!ok)
97if(--num[d[x]]==0)break
;98 num[d[x]=m+1]++;
99 cur[x]=0
;100
if(x!=s)x=edges[p[x]].from
;101
}102
}103
return
flow;
104}
105}isap;
106int n,m,k,day=0,moon=1000
;107
int fa[1005
];108
int find(int x)
109struct
spaceshipss[25
];113 inline int
read()
119int
main()
134}
135}
136if(find(0)!=find(moon))cout<<0
<137else
147 isap.maxflow(0
,moon);
148 day++;
149}
150 cout151}
152return0;
153 }
網路流24題 星際轉移問題
這個問題的難點在於如何表示時間的流逝很容易 想到源點 是地球,然後中間 一串的空 間站,最 後連向匯 點月 球很容易想到源點是地球,然後中間一串的空間站,最後連向匯點月球 很容易想到源 點是地球 然後中 間一串的 空間站,最後連向 匯點月球空間 站間各自 連邊,流 量是飛船 的容 量空間站間各自連邊...
網路流24題 星際轉移問題
description 由於人類對自然資源的消耗,人們意識到大約在 2300 年之後,地球就不能再居住了。於是在月球上建立了新的綠地,以便在需要時移民。令人意想不到的是,2177 年冬由於未知的原因,地球環境發生了連鎖崩潰,人類必須在最短的時間內遷往月球。現有 n 個太空站位於地球與月球之間,且有 ...
網路流 24 題 星際轉移
題目描述 由於人類對自然資源的消耗,人們意識到大約在 2300 年之後,地球就不能再居住了。於是在月球上建立了新的綠地,以便在需要時移民。令人意想不到的是,2177 年冬由於未知的原因,地球環境發生了連鎖崩潰,人類必須在最短的時間內遷往月球。現有 n n n 個太空站位於地球與月球之間,且有 m m...