亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

codevs 1002 搭橋

2019-11-06 06:08:45
字體:
來源:轉載
供稿:網友

codevs 1002 搭橋

剛開始看這題的時候覺得就是寬搜+并查集就可以搞定了,覺得一定可以把這題ac的。

然后從昨晚敲代碼,再到今天10點敲到現在,發現有一半樣例WA,實在想不出是什么情況,后來看看錯誤提示,發現橋的數目和長度有可能是不一樣的。欸,那是什么情況呢?突然間覺得好有挫敗感,所以開始研究一份看起來比較簡短優美的題解吧。代碼如下:

#include <algorithm> using namespace std; #define maxn 100000 int xx[8]={0,0,1,1,1,-1,-1,-1},yy[8]={1,-1,0,1,-1,0,1,-1}; int n,m,q[1005][1005],dad[maxn],cnt,ans,sum; bool map[1005][1005]; struct node{int x,y,v;}e[maxn]; //邊的結構體,v代表長度 bool cmp(node a,node b){return a.v<b.v;} int getdad(int x){return x==dad[x]?x:dad[x]=getdad(dad[x]);} //并查集find祖先 bool input(int x1,int y1,int x2,int y2,int t){ if(x2<1||x2>n||y2<1||y2>m||!q[x2][y2]) //坐標不合法或者這不是個建筑物 return 1; //不合法 if(q[x1][y1]==q[x2][y2]) return 0; //屬于同一個建筑物 cnt++; e[cnt].x=q[x1][y1]; e[cnt].y=q[x2][y2]; e[cnt].v=t-1; return 1; } void dfs(int x,int y){ q[x][y]=ans; for(int i=0;i<8;i++){ int x0=x+xx[i],y0=y+yy[i]; if(map[x0][y0]&&!q[x0][y0]) dfs(x0,y0); } } void build(int x,int y) //在(x,y)這個點上可以建的橋 { for(int i=x+1;i<=n;i++) // 下面的 if(!input(x,y,i,y,i-x)||!input(x,y,i,y+1,i-x)||!input(x,y,i,y-1,i-x)) break; for(int i=x-1;i>0;i--) //上面的 if(!input(x,y,i,y,x-i)||!input(x,y,i,y+1,x-i)||!input(x,y,i,y-1,x-i)) break; for(int i=y+1;i<=m;i++) // 右邊的 if(!input(x,y,x,i,i-y)||!input(x,y,x+1,i,i-y)||!input(x,y,x-1,i,i-y)) break; for(int i=y-1;i>0;i--) //左邊的 if(!input(x,y,x,i,y-1)||!input(x,y,x+1,i,y-i)||!input(x,y,x-1,i,y-i)) break; } void work1(){ ans=0; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(map[i][j]&&!q[i][j]) {ans++;dfs(i,j);} //ans是聯通塊編號 cout<<ans<<endl; } void work2() { for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(map[i][j]) build(i,j); //枚舉所有可能的橋 sort(e+1,e+cnt+1,cmp); //sort所有的橋,長度從小到大 for(int i=1;i<=ans;i++) dad[i]=i;//聯通快編號初始化 ans=0; for(int i=1;i<=cnt;i++) { int k=getdad(e[i].x); int l=getdad(e[i].y); if(k!=l) // 不屬于同一個聯通快,要用橋連接 { dad[k]=l; ans++; sum+=e[i].v; } } cout<<ans<<' '<<sum; } int main(){ cin>>n>>m; for(int i=1;i<=n;i++) { char a[maxn]; cin>>a; for(int j=1;j<=m;j++) if(a[j-1]=='#') map[i][j]=1; //整數數組map保存下來了 } work1(); work2(); return 0; }就是枚舉出所有的邊, kruskal+dfs有種力不從心的感覺。但盡量堅持下去吧- -
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产专区精品视频| 亚洲一级一级97网| 中文字幕国产精品| 欧美成人激情图片网| 97av在线视频| 欧美激情精品久久久久久| 91av在线播放视频| 亚洲精品一区久久久久久| 久久久中文字幕| 国产欧亚日韩视频| www.日韩免费| 国产精品黄色av| 亚洲欧美中文日韩在线v日本| 欧美日产国产成人免费图片| 日韩欧美精品免费在线| 欧美激情影音先锋| 国产精品亚洲美女av网站| 亚洲精品久久久久中文字幕二区| 97国产精品视频人人做人人爱| 国产精品流白浆视频| 欧美国产激情18| 久久亚洲国产精品成人av秋霞| 亚洲一区亚洲二区| 26uuu亚洲伊人春色| 美女扒开尿口让男人操亚洲视频网站| 欧美最猛性xxxxx亚洲精品| 亚洲电影av在线| 青青在线视频一区二区三区| 日本道色综合久久影院| 2018中文字幕一区二区三区| 欧美精品videossex性护士| 成人国产亚洲精品a区天堂华泰| 成人女保姆的销魂服务| 少妇高潮久久久久久潘金莲| 亚洲高清色综合| 成人免费在线视频网站| 国产成人精品日本亚洲| 在线一区二区日韩| 欧美日韩国产区| 久久久成人av| 性亚洲最疯狂xxxx高清| 亚洲午夜久久久久久久| 欧美黑人视频一区| 97视频在线观看免费| 久久九九全国免费精品观看| 国产成人精品在线视频| 国产精品尤物福利片在线观看| 国产日韩在线播放| 日韩欧美a级成人黄色| 午夜精品一区二区三区av| 国产精品久久久久影院日本| 欧美激情视频一区| 精品香蕉在线观看视频一| 26uuu日韩精品一区二区| 欧美激情免费视频| 色综合视频一区中文字幕| 亚洲欧美在线第一页| 欧美精品手机在线| 日韩精品在线观看一区二区| 欧美综合国产精品久久丁香| 亚州精品天堂中文字幕| 国产精品久久久999| 色777狠狠综合秋免鲁丝| 精品国产一区二区三区久久| 亚洲国产小视频| 国产91露脸中文字幕在线| 久久国产精品影视| 亚洲欧美成人精品| 国产大片精品免费永久看nba| 永久免费精品影视网站| 高清视频欧美一级| 国产va免费精品高清在线| 中文字幕亚洲精品| 亚洲国产精品小视频| 亚洲欧美另类中文字幕| 国产美女主播一区| 欧美极品少妇xxxxx| 欧美特级www| 疯狂做受xxxx高潮欧美日本| 久久成人18免费网站| 国产成人精品视频在线| 欧美大片在线看免费观看| 中文字幕日韩精品在线观看| 欧美精品18videos性欧| 国产精品丝袜高跟| 亚洲第一中文字幕| 国产精品白嫩美女在线观看| 国产在线98福利播放视频| 另类天堂视频在线观看| 91精品啪aⅴ在线观看国产| 97色伦亚洲国产| 欧美视频一二三| 亚洲第一精品夜夜躁人人躁| 91精品视频免费| 日韩激情av在线免费观看| 中文欧美在线视频| 国产一区二区视频在线观看| 96sao精品视频在线观看| 欧美成年人视频网站欧美| 国产精品日韩欧美| 欧美一级免费看| 精品一区二区三区四区| 97精品国产91久久久久久| 国产精品男人的天堂| 亚洲国产一区二区三区四区| 久久亚洲私人国产精品va| 日韩精品视频三区| 日韩在线观看免费高清完整版| 亚洲国产精品视频在线观看| 国产激情久久久久| 亚洲有声小说3d| 国产精品成人免费电影| 性色av一区二区三区免费| 欧美视频专区一二在线观看| 午夜精品蜜臀一区二区三区免费| 81精品国产乱码久久久久久| 国产成人一区三区| 欧美日韩国产综合视频在线观看中文| 日韩av电影国产| 欧美有码在线观看| 欧美电影免费观看大全| 亚洲综合在线小说| 久久69精品久久久久久久电影好| 98精品国产高清在线xxxx天堂| 亚洲自拍偷拍在线| 日韩成人黄色av| 91免费精品国偷自产在线| 久久久久久网站| 人人爽久久涩噜噜噜网站| 91精品国产色综合| 在线中文字幕日韩| 亚洲视频欧洲视频| 久久天天躁日日躁| 亚洲成av人乱码色午夜| 国产一区二区日韩| 91精品久久久久久久久不口人| 日韩三级影视基地| 永久免费看mv网站入口亚洲| 久久久免费在线观看| 久久视频国产精品免费视频在线| 亚洲欧美福利视频| 亚洲色无码播放| 久久91精品国产91久久久| 亚洲精品国产拍免费91在线| 欧美在线影院在线视频| 亚洲国产美女精品久久久久∴| 激情成人中文字幕| 91精品国产自产在线观看永久| yellow中文字幕久久| 国产亚洲欧洲高清一区| 91亚洲精品在线观看| 亚洲激情视频在线观看| 日韩精品免费在线视频| 欧美xxxx综合视频| 亚洲系列中文字幕| 国产999精品视频| 国产精品爱久久久久久久| 午夜精品久久久久久久男人的天堂| 亚洲成人网久久久| 久久久久久久久网站| 日韩av在线一区二区| 国产视频精品久久久| 富二代精品短视频| **欧美日韩vr在线|