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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Destroying the bus stations

發布時間:2024/4/17 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Destroying the bus stations 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

hdu2485:http://acm.hdu.edu.cn/showproblem.php?pid=2485

題意:給你一個圖,讓你刪除其中的一些點,然后使得1到n的最小距離大于k,求刪除的最小的點數。

題解:DFS枚舉最短路徑上的點。

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<queue> 6 #define inf 100000000 7 using namespace std; 8 const int N=55; 9 const int E=20000; 10 int dist[N],del[N][N],vis[N],head[N]; 11 bool visit[N]; 12 int n,m,k,cnt,ans,u,v,pre[N]; 13 struct Node{ 14 int v; 15 int next; 16 }edge[E]; 17 void init(){ 18 memset(head,-1,sizeof(head)); 19 memset(visit,0,sizeof(visit)); 20 memset(pre,0,sizeof(pre)); 21 cnt=0; 22 ans=inf; 23 } 24 void add(int u,int v){ 25 edge[cnt].v=v; 26 edge[cnt].next=head[u]; 27 head[u]=cnt++; 28 } 29 bool BFS(){ 30 for(int i=1;i<=n;i++){ 31 dist[i]=inf; 32 vis[i]=false; 33 } 34 queue<int>Q; 35 vis[1]=1; 36 dist[1]=0; 37 Q.push(1); 38 while(!Q.empty()){ 39 int u=Q.front(); 40 Q.pop(); 41 vis[u]=0; 42 for(int i=head[u];i!=-1;i=edge[i].next){ 43 int v=edge[i].v; 44 if(!visit[v]&&dist[v]>dist[u]+1){ 45 dist[v]=dist[u]+1; 46 pre[v]=u; 47 if(!vis[v]){ 48 Q.push(v); 49 vis[v]=1; 50 } 51 if(v==n&&dist[v]<=k)return true; 52 } 53 } 54 } 55 return false; 56 } 57 void DFS(int depth){ 58 if(depth>=ans)return; 59 memset(pre,0,sizeof(pre)); 60 if(!BFS()){ 61 ans=min(ans,depth); 62 return; 63 } 64 int num=0; 65 for(int i=pre[n];i!=1;i=pre[i]){ 66 del[depth][++num]=i; 67 } 68 for(int i=1;i<=num;i++){ 69 visit[del[depth][i]]=true; 70 DFS(depth+1); 71 visit[del[depth][i]]=false; 72 } 73 } 74 75 int main(){ 76 while(~scanf("%d%d%d",&n,&m,&k)&&n){ 77 init(); 78 for(int i=1;i<=m;i++){ 79 scanf("%d%d",&u,&v); 80 add(u,v); 81 } 82 DFS(0); 83 printf("%d\n",ans); 84 } 85 } View Code

轉載于:https://www.cnblogs.com/chujian123/p/3867685.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Destroying the bus stations的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。