锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品国产第一综合99久久,精品久久久久久久久午夜福利,99热成人精品免费久久http://m.shnenglu.com/AmazingCaddy/category/13279.htmlzh-cnWed, 17 Mar 2010 08:05:39 GMTWed, 17 Mar 2010 08:05:39 GMT60- poj 3026 BFS+MSThttp://m.shnenglu.com/AmazingCaddy/archive/2010/03/16/109855.htmlAmazingCaddyAmazingCaddyTue, 16 Mar 2010 14:47:00 GMThttp://m.shnenglu.com/AmazingCaddy/archive/2010/03/16/109855.htmlhttp://m.shnenglu.com/AmazingCaddy/comments/109855.htmlhttp://m.shnenglu.com/AmazingCaddy/archive/2010/03/16/109855.html#Feedback0http://m.shnenglu.com/AmazingCaddy/comments/commentRss/109855.htmlhttp://m.shnenglu.com/AmazingCaddy/services/trackbacks/109855.htmlhttp://acm.pku.edu.cn/JudgeOnline/problem?id=3026
榪欓亾棰樼殑杈撳叆鏁版嵁鍙婂叾鐚ョ悙錛屾湁寰堝鏃犵敤鐨勭┖鏍箋傘傘?br>鍏朵粬榪樻槸娌′粈涔堢殑錛屽彧瑕丅FS澶勭悊涓嬩袱鐐歸棿鐨勮窛紱伙紝鐒跺悗MST涓涓嬨傘傘?br>
// 3026 Borg Maze
// Time Limit: 1000MS Memory Limit: 65536K
// Total Submissions: 2827 Accepted: 888

#include<iostream>
#include<queue>
#define MAXN 105
#define N 55
#define INF 10000000
using namespace std;
struct node


{
int x,y;
int step;
};

int dir[4][2]=
{
{-1,0},
{0,-1},
{0,1},
{1,0}};
char maze[N][N];
bool vis[N][N];
int g[MAXN][MAXN],v[N][N];
node d[MAXN];
int n,m,cnt;
void BFS( node a )


{
int i,x,y,nx,ny,step;
node p;
queue<node> que;
memset( vis, false, sizeof(vis) );
que.push( a );
vis[a.x][a.y]=true;
while( !que.empty( ) )

{
p=que.front( );
que.pop( );
x=p.x,y=p.y,step=p.step+1;
for( i=0; i<4; i++ )

{
nx=x+dir[i][0],ny=y+dir[i][1];
if( nx<m && nx>=0 && ny<n && ny>=0 && !vis[nx][ny])

{
if( maze[nx][ny]=='S' || maze[nx][ny]=='A' )

{
g[v[a.x][a.y]][v[nx][ny]]=g[v[nx][ny]][v[a.x][a.y]]=step;
p.x=nx,p.y=ny,p.step=step;
que.push( p );
vis[nx][ny]=true;
}
if( maze[nx][ny]==' ' )

{
p.x=nx,p.y=ny,p.step=step;
que.push( p );
vis[nx][ny]=true;
}
}
}
}
}

void create_graph( )


{
int i,j;
for( i=0; i<m; i++ )
gets( maze[i] );
cnt=0;
for( i=0; i<m; i++ )
for( j=0; j<n; j++ )
if( maze[i][j]=='A' || maze[i][j]=='S' )
d[cnt].x=i,d[cnt].y=j,d[cnt].step=0,v[i][j]=cnt++;
for( i=0; i<cnt; i++ )
for( g[i][i]=0, j=i+1; j<cnt; j++ )
g[i][j]=g[j][i]=INF;
for( i=0; i<cnt; i++ )
BFS( d[i] );
}

int prim( )


{
int i,j,k,min,ans;
int dis[MAXN];
for( i=0; i<cnt; i++ )
dis[i]=g[0][i];
ans=0;
for( i=1; i<cnt; i++ )

{
min=INF,k=-1;
for( j=0; j<cnt; j++ )
if( dis[j] && dis[j]<min )
min=dis[j],k=j;
ans+=min;
dis[k]=0;
for( j=0; j<cnt; j++ )
if( dis[j] && g[k][j]<dis[j] )
dis[j]=g[k][j];
}
return ans;
}

int main( )


{
int ans,t;
char c[100];
scanf("%d",&t);
while( t-- )

{
scanf("%d%d",&n,&m);
gets( c );
create_graph( );
ans=prim( );
printf("%d\n",ans);
}
return 0;
}

]]>
99久久国产精品免费一区二区|
亚洲AV日韩精品久久久久|
久久午夜伦鲁片免费无码|
亚洲va国产va天堂va久久|
97久久天天综合色天天综合色hd|
AV狠狠色丁香婷婷综合久久|
激情综合色综合久久综合|
亚洲国产成人久久一区WWW|
久久精品麻豆日日躁夜夜躁|
国内精品久久久久影院网站|
狠狠色噜噜色狠狠狠综合久久
|
国产农村妇女毛片精品久久|
久久毛片免费看一区二区三区|
久久综合久久自在自线精品自|
国内精品久久久久久中文字幕|
奇米影视7777久久精品|
久久亚洲AV永久无码精品|
久久精品国产亚洲av高清漫画|
久久久久久毛片免费看|
国产精品久久网|
7777精品久久久大香线蕉|
欧美性猛交xxxx免费看久久久|
午夜不卡久久精品无码免费|
久久久久人妻精品一区三寸蜜桃|
国产精品久久99|
奇米影视7777久久精品人人爽|
国产999精品久久久久久|
久久99精品久久久久婷婷|
久久精品卫校国产小美女|
亚洲精品tv久久久久|
国内精品久久久久影院网站
|
久久久久久精品久久久久|
久久久久久A亚洲欧洲AV冫|
久久久久久综合一区中文字幕|
亚洲午夜久久久久妓女影院|
久久综合久久美利坚合众国|
国产精品久久久久久久久软件|
少妇被又大又粗又爽毛片久久黑人|
久久精品国产亚洲AV不卡|
精品国产乱码久久久久久浪潮|
国产香蕉97碰碰久久人人|