Poj 3057 未AC http://poj.org/showsource?solution_id=15175171

来源:互联网 发布:js date get 毫秒数 编辑:程序博客网 时间:2024/04/28 19:12
<span style="font-size:18px;">#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <vector>#include <queue>#include <map>#include <algorithm>#include <set>using namespace std;#define MM(a) memset(a,0,sizeof(a))typedef long long ll;typedef unsigned long long ULL;const int mod = 1000000007;const double eps = 1e-10;const int inf = 0x3f3f3f3f;const int big=50000;int max(int a,int b) {return a>b?a:b;};int min(int a,int b) {return a<b?a:b;};int n,m,x,y;vector<int> G[1005];vector<int> dx,dy,px,py;char field[15][15];int xx[4]={-1,1,0,0},yy[4]={0,0,1,-1};int sroad[15][15][15][15],dist[15][15];int used[150],match[150];void add_edge(int u,int v){    G[u].push_back(v);    G[v].push_back(u);    //printf("%d %d//////\n",u,G[u][G[u].size()-1]);}void bfs(int x,int y){    memset(dist,-1,sizeof(dist));    dist[x][y]=0;    queue<int> qx,qy;    qx.push(x);    qy.push(y);    while(!qx.empty())    {      for(int i=0;i<=3;i++)      {        int tx=qx.front()+xx[i],ty=qy.front()+yy[i];        if(tx>=1&&tx<=n&&ty>=1&&ty<=m)          {            if(field[tx][ty]=='.'&&dist[tx][ty]<0)             {             dist[tx][ty]=dist[x][y]+1;             sroad[x][y][tx][ty]=dist[tx][ty];             qx.push(tx);             qy.push(ty);             }          }      }      qx.pop();      qy.pop();    }}int dfs(int u){    used[u]=1;    for(int i=0;i<G[u].size();i++)    {        int v=G[u][i],w=match[v];        //printf("%d %d %d %d//////\n",u,match[u],v,match[v]);        if(w<0||!used[w]&&dfs(w))        {            match[u]=v;            match[v]=u;            return 1;        }    }    return 0;}int pipei(int t){    int res=0;    for(int i=0;i<dx.size();i++)       {           int u=i+t*dx.size();           //cout<<u<<" /////// "<<match[u]<<endl;           if(match[u]<0)              {                  memset(used,0,sizeof(used));                  if(dfs(u))                     res++;              }       }    return res;}int num(int t){      for(int i=0;i<px.size();i++)       for(int j=0;j<dx.size();j++)       {           int renx=px[i],reny=py[i];           int menx=dx[j],meny=dy[j];         if(sroad[menx][meny][renx][reny]<=t)              add_edge(t*dx.size()+j,1000*dx.size()+i);       }       return pipei(t);}void solve(){    memset(match,-1,sizeof(match));    memset(sroad,inf,sizeof(sroad));    int ans=0;    for(int t=0;t<=n*m+3;t++)           {             ans+=num(t);             if(ans>=px.size())               {                 cout<<t<<endl;                 return;               }           }    cout<<"impossible"<<endl;}int main(){    int cas;    cin>>cas;    while(cas--)    {        scanf("%d %d",&n,&m);        dx.clear();dy.clear();        px.clear();py.clear();        for(int i=0;i<=500;i++)            G[i].clear();        for(int i=1;i<=n;i++)            scanf("%s",field[i]);        for(int i=1;i<=n;i++)          {              for(int j=0;j<m;j++)                if(field[i][j]=='D')                 {                    dx.push_back(i);                    dy.push_back(j+1);                    bfs(i,j+1);                 }                 else if(field[i][j]=='.')                 {                     px.push_back(i);                     py.push_back(j+1);                 }          }       solve();    }    return 0;}</span>
</pre><ul style="font-family: Simsun;font-size:14px;"><pre class="sh_cpp sh_sourceCode" style="font-family: 'Courier New', Courier, monospace; background-color: white;"><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#include</span> <span class="sh_string" style="color: red; font-family: monospace;"><iostream></span><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#include</span> <span class="sh_string" style="color: red; font-family: monospace;"><cstdio></span><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#include</span> <span class="sh_string" style="color: red; font-family: monospace;"><cstring></span><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#include</span> <span class="sh_string" style="color: red; font-family: monospace;"><cstdlib></span><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#include</span> <span class="sh_string" style="color: red; font-family: monospace;"><cmath></span><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#include</span> <span class="sh_string" style="color: red; font-family: monospace;"><vector></span><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#include</span> <span class="sh_string" style="color: red; font-family: monospace;"><queue></span><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#include</span> <span class="sh_string" style="color: red; font-family: monospace;"><map></span><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#include</span> <span class="sh_string" style="color: red; font-family: monospace;"><algorithm></span><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#include</span> <span class="sh_string" style="color: red; font-family: monospace;"><set></span><span class="sh_keyword" style="color: blue; font-weight: bold;">using</span> <span class="sh_keyword" style="color: blue; font-weight: bold;">namespace</span> std<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_preproc" style="color: rgb(0, 0, 139); font-weight: bold;">#define</span> <span class="sh_function" style="font-weight: bold;">MM</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>a<span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span> <span class="sh_function" style="font-weight: bold;">memset</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>a<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_keyword" style="color: blue; font-weight: bold;">sizeof</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>a<span class="sh_symbol" style="color: rgb(139, 0, 0);">))</span><span class="sh_keyword" style="color: blue; font-weight: bold;">typedef</span> <span class="sh_type" style="color: rgb(0, 100, 0);">long</span> <span class="sh_type" style="color: rgb(0, 100, 0);">long</span> ll<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_keyword" style="color: blue; font-weight: bold;">typedef</span> <span class="sh_type" style="color: rgb(0, 100, 0);">unsigned</span> <span class="sh_type" style="color: rgb(0, 100, 0);">long</span> <span class="sh_type" style="color: rgb(0, 100, 0);">long</span> ULL<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_keyword" style="color: blue; font-weight: bold;">const</span> <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> mod <span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span> <span class="sh_number" style="color: purple;">1000000007</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_keyword" style="color: blue; font-weight: bold;">const</span> <span class="sh_type" style="color: rgb(0, 100, 0);">double</span> eps <span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span> <span class="sh_number" style="color: purple;">1e-10</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_keyword" style="color: blue; font-weight: bold;">const</span> <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> inf <span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span> <span class="sh_number" style="color: purple;">0x3f3f3f3f</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_keyword" style="color: blue; font-weight: bold;">const</span> <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> big<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">50000</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> <span class="sh_function" style="font-weight: bold;">max</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> a<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> b<span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span> <span class="sh_cbracket" style="color: red;">{</span><span class="sh_keyword" style="color: blue; font-weight: bold;">return</span> a<span class="sh_symbol" style="color: rgb(139, 0, 0);">></span>b<span class="sh_symbol" style="color: rgb(139, 0, 0);">?</span>a<span class="sh_symbol" style="color: rgb(139, 0, 0);">:</span>b<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_cbracket" style="color: red;">}</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> <span class="sh_function" style="font-weight: bold;">min</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> a<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> b<span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span> <span class="sh_cbracket" style="color: red;">{</span><span class="sh_keyword" style="color: blue; font-weight: bold;">return</span> a<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span>b<span class="sh_symbol" style="color: rgb(139, 0, 0);">?</span>a<span class="sh_symbol" style="color: rgb(139, 0, 0);">:</span>b<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_cbracket" style="color: red;">}</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> n<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>m<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>x<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>y<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>vector<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">></span> G<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span><span class="sh_number" style="color: purple;">100005</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">];</span>vector<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">></span> dx<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>dy<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>px<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>py<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_type" style="color: rgb(0, 100, 0);">char</span> field<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span><span class="sh_number" style="color: purple;">15</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span><span class="sh_number" style="color: purple;">15</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">];</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> xx<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span><span class="sh_number" style="color: purple;">4</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">]=</span><span class="sh_cbracket" style="color: red;">{</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">-</span><span class="sh_number" style="color: purple;">1</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_number" style="color: purple;">1</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_number" style="color: purple;">0</span><span class="sh_cbracket" style="color: red;">}</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>yy<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span><span class="sh_number" style="color: purple;">4</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">]=</span><span class="sh_cbracket" style="color: red;">{</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_number" style="color: purple;">1</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,-</span><span class="sh_number" style="color: purple;">1</span><span class="sh_cbracket" style="color: red;">}</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> sroad<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span><span class="sh_number" style="color: purple;">15</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span><span class="sh_number" style="color: purple;">15</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span><span class="sh_number" style="color: purple;">15</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span><span class="sh_number" style="color: purple;">15</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">],</span>dist<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span><span class="sh_number" style="color: purple;">15</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span><span class="sh_number" style="color: purple;">15</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">];</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> used<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span><span class="sh_number" style="color: purple;">30000</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">],</span>match<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span><span class="sh_number" style="color: purple;">1000000</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">];</span><span class="sh_type" style="color: rgb(0, 100, 0);">void</span> <span class="sh_function" style="font-weight: bold;">add_edge</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> u<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> v<span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span><span class="sh_cbracket" style="color: red;">{</span>    G<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>u<span class="sh_symbol" style="color: rgb(139, 0, 0);">].</span><span class="sh_function" style="font-weight: bold;">push_back</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>v<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>    G<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>v<span class="sh_symbol" style="color: rgb(139, 0, 0);">].</span><span class="sh_function" style="font-weight: bold;">push_back</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>u<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span><span class="sh_cbracket" style="color: red;">}</span><span class="sh_type" style="color: rgb(0, 100, 0);">void</span> <span class="sh_function" style="font-weight: bold;">bfs</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> x<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> y<span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span><span class="sh_cbracket" style="color: red;">{</span>    <span class="sh_function" style="font-weight: bold;">memset</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>dist<span class="sh_symbol" style="color: rgb(139, 0, 0);">,-</span><span class="sh_number" style="color: purple;">1</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_keyword" style="color: blue; font-weight: bold;">sizeof</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>dist<span class="sh_symbol" style="color: rgb(139, 0, 0);">));</span>    dist<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>x<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>y<span class="sh_symbol" style="color: rgb(139, 0, 0);">]=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>    queue<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">></span> qx<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>qy<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>    qx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">push</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>x<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>    qy<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">push</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>y<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>    <span class="sh_keyword" style="color: blue; font-weight: bold;">while</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(!</span>qx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">empty</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">())</span>    <span class="sh_cbracket" style="color: red;">{</span>      <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> sx<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>qx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">front</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>      <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> sy<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>qy<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">front</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>      <span class="sh_keyword" style="color: blue; font-weight: bold;">for</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> i<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);"><=</span><span class="sh_number" style="color: purple;">3</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">++)</span>      <span class="sh_cbracket" style="color: red;">{</span>        <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> tx<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>sx<span class="sh_symbol" style="color: rgb(139, 0, 0);">+</span>xx<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">],</span>ty<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>sy<span class="sh_symbol" style="color: rgb(139, 0, 0);">+</span>yy<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">];</span>        <span class="sh_keyword" style="color: blue; font-weight: bold;">if</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>tx<span class="sh_symbol" style="color: rgb(139, 0, 0);">>=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">&&</span>tx<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span>n<span class="sh_symbol" style="color: rgb(139, 0, 0);">&&</span>ty<span class="sh_symbol" style="color: rgb(139, 0, 0);">>=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">&&</span>ty<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span>m<span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span>            <span class="sh_keyword" style="color: blue; font-weight: bold;">if</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>field<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>tx<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>ty<span class="sh_symbol" style="color: rgb(139, 0, 0);">]==</span><span class="sh_string" style="color: red; font-family: monospace;">'.'</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">&&</span>dist<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>tx<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>ty<span class="sh_symbol" style="color: rgb(139, 0, 0);">]<</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span>             <span class="sh_cbracket" style="color: red;">{</span>               dist<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>tx<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>ty<span class="sh_symbol" style="color: rgb(139, 0, 0);">]=</span>dist<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>sx<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>sy<span class="sh_symbol" style="color: rgb(139, 0, 0);">]+</span><span class="sh_number" style="color: purple;">1</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>               sroad<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>x<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>y<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>tx<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>ty<span class="sh_symbol" style="color: rgb(139, 0, 0);">]=</span>dist<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>tx<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>ty<span class="sh_symbol" style="color: rgb(139, 0, 0);">];</span>               qx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">push</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>tx<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>               qy<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">push</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>ty<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>             <span class="sh_cbracket" style="color: red;">}</span>      <span class="sh_cbracket" style="color: red;">}</span>      qx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">pop</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>      qy<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">pop</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>    <span class="sh_cbracket" style="color: red;">}</span><span class="sh_cbracket" style="color: red;">}</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> <span class="sh_function" style="font-weight: bold;">dfs</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> u<span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span><span class="sh_cbracket" style="color: red;">{</span>    used<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>u<span class="sh_symbol" style="color: rgb(139, 0, 0);">]=</span><span class="sh_number" style="color: purple;">1</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>    <span class="sh_keyword" style="color: blue; font-weight: bold;">for</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> i<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span>G<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>u<span class="sh_symbol" style="color: rgb(139, 0, 0);">].</span><span class="sh_function" style="font-weight: bold;">size</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">++)</span>    <span class="sh_cbracket" style="color: red;">{</span>        <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> v<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>G<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>u<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">],</span>w<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>match<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>v<span class="sh_symbol" style="color: rgb(139, 0, 0);">];</span>        <span class="sh_comment" style="color: rgb(165, 42, 42); font-style: italic;">//printf("%d %d\n",v,match[v]);</span>       <span class="sh_comment" style="color: rgb(165, 42, 42); font-style: italic;">// printf("match: %d  w:%d\n",match[v],w);</span>        <span class="sh_keyword" style="color: blue; font-weight: bold;">if</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>w<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">||!</span>used<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>w<span class="sh_symbol" style="color: rgb(139, 0, 0);">]&&</span><span class="sh_function" style="font-weight: bold;">dfs</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>w<span class="sh_symbol" style="color: rgb(139, 0, 0);">))</span>        <span class="sh_cbracket" style="color: red;">{</span>            match<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>u<span class="sh_symbol" style="color: rgb(139, 0, 0);">]=</span>v<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>            match<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>v<span class="sh_symbol" style="color: rgb(139, 0, 0);">]=</span>u<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>            <span class="sh_comment" style="color: rgb(165, 42, 42); font-style: italic;">//printf("wwwww\n");</span>            <span class="sh_keyword" style="color: blue; font-weight: bold;">return</span> <span class="sh_number" style="color: purple;">1</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>        <span class="sh_cbracket" style="color: red;">}</span>    <span class="sh_cbracket" style="color: red;">}</span>    <span class="sh_keyword" style="color: blue; font-weight: bold;">return</span> <span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_cbracket" style="color: red;">}</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> <span class="sh_function" style="font-weight: bold;">pipei</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> t<span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span><span class="sh_cbracket" style="color: red;">{</span>    <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> res<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>    <span class="sh_keyword" style="color: blue; font-weight: bold;">for</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> i<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span>dx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">size</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">++)</span>       <span class="sh_cbracket" style="color: red;">{</span>           <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> u<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">+</span>t<span class="sh_symbol" style="color: rgb(139, 0, 0);">*</span>dx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">size</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>          <span class="sh_comment" style="color: rgb(165, 42, 42); font-style: italic;">//printf("4  match:%d\n",match[0]);</span>           <span class="sh_keyword" style="color: blue; font-weight: bold;">if</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>match<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>u<span class="sh_symbol" style="color: rgb(139, 0, 0);">]<</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span>              <span class="sh_cbracket" style="color: red;">{</span>                  <span class="sh_function" style="font-weight: bold;">memset</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>used<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_keyword" style="color: blue; font-weight: bold;">sizeof</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>used<span class="sh_symbol" style="color: rgb(139, 0, 0);">));</span>                  <span class="sh_keyword" style="color: blue; font-weight: bold;">if</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_function" style="font-weight: bold;">dfs</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>u<span class="sh_symbol" style="color: rgb(139, 0, 0);">))</span>                     res<span class="sh_symbol" style="color: rgb(139, 0, 0);">++;</span>              <span class="sh_cbracket" style="color: red;">}</span>       <span class="sh_cbracket" style="color: red;">}</span>   <span class="sh_comment" style="color: rgb(165, 42, 42); font-style: italic;">// printf("res:%d\n",res);</span>    <span class="sh_keyword" style="color: blue; font-weight: bold;">return</span> res<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_cbracket" style="color: red;">}</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> <span class="sh_function" style="font-weight: bold;">num</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> t<span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span><span class="sh_cbracket" style="color: red;">{</span>      <span class="sh_keyword" style="color: blue; font-weight: bold;">for</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> i<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span>px<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">size</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">++)</span>       <span class="sh_keyword" style="color: blue; font-weight: bold;">for</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> j<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span>dx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">size</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);">++)</span>       <span class="sh_cbracket" style="color: red;">{</span>           <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> renx<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>px<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">],</span>reny<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>py<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">];</span>           <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> menx<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>dx<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);">],</span>meny<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span>dy<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);">];</span>           <span class="sh_keyword" style="color: blue; font-weight: bold;">if</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>sroad<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>menx<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>meny<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>renx<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>reny<span class="sh_symbol" style="color: rgb(139, 0, 0);">]<=</span>t<span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span>              <span class="sh_function" style="font-weight: bold;">add_edge</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>t<span class="sh_symbol" style="color: rgb(139, 0, 0);">*</span>dx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">size</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">()+</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);">,(</span>n<span class="sh_symbol" style="color: rgb(139, 0, 0);">*</span>m<span class="sh_number" style="color: purple;">+10</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">)*</span>dx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">size</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">()+</span><span class="sh_number" style="color: purple;">10</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">+</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>       <span class="sh_cbracket" style="color: red;">}</span>       <span class="sh_comment" style="color: rgb(165, 42, 42); font-style: italic;">//printf("3  match:%d\n",match[0]);</span>       <span class="sh_keyword" style="color: blue; font-weight: bold;">return</span> <span class="sh_function" style="font-weight: bold;">pipei</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>t<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span><span class="sh_cbracket" style="color: red;">}</span><span class="sh_type" style="color: rgb(0, 100, 0);">void</span> <span class="sh_function" style="font-weight: bold;">solve</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">()</span><span class="sh_cbracket" style="color: red;">{</span>    <span class="sh_function" style="font-weight: bold;">memset</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>match<span class="sh_symbol" style="color: rgb(139, 0, 0);">,-</span><span class="sh_number" style="color: purple;">1</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_keyword" style="color: blue; font-weight: bold;">sizeof</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>match<span class="sh_symbol" style="color: rgb(139, 0, 0);">));</span>    <span class="sh_comment" style="color: rgb(165, 42, 42); font-style: italic;">//printf("1  match:%d\n",match[0]);</span>    <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> ans<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>    <span class="sh_keyword" style="color: blue; font-weight: bold;">for</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> t<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>t<span class="sh_symbol" style="color: rgb(139, 0, 0);"><=</span>n<span class="sh_symbol" style="color: rgb(139, 0, 0);">*</span>m<span class="sh_number" style="color: purple;">+3</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>t<span class="sh_symbol" style="color: rgb(139, 0, 0);">++)</span>        <span class="sh_cbracket" style="color: red;">{</span>            ans<span class="sh_symbol" style="color: rgb(139, 0, 0);">+=</span><span class="sh_function" style="font-weight: bold;">num</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>t<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>            <span class="sh_comment" style="color: rgb(165, 42, 42); font-style: italic;">//cout<<t<<"    "<<num(t)<<endl;</span>            <span class="sh_comment" style="color: rgb(165, 42, 42); font-style: italic;">//printf("2  match:%d\n",match[0]);</span>            <span class="sh_keyword" style="color: blue; font-weight: bold;">if</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>ans<span class="sh_symbol" style="color: rgb(139, 0, 0);">>=</span>px<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">size</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">())</span>            <span class="sh_cbracket" style="color: red;">{</span>                cout<span class="sh_symbol" style="color: rgb(139, 0, 0);"><<</span>t<span class="sh_symbol" style="color: rgb(139, 0, 0);"><<</span>endl<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>                <span class="sh_keyword" style="color: blue; font-weight: bold;">return</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>            <span class="sh_cbracket" style="color: red;">}</span>        <span class="sh_cbracket" style="color: red;">}</span>    cout<span class="sh_symbol" style="color: rgb(139, 0, 0);"><<</span><span class="sh_string" style="color: red; font-family: monospace;">"impossible"</span><span class="sh_symbol" style="color: rgb(139, 0, 0);"><<</span>endl<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_cbracket" style="color: red;">}</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> <span class="sh_function" style="font-weight: bold;">main</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">()</span><span class="sh_cbracket" style="color: red;">{</span>    <span class="sh_type" style="color: rgb(0, 100, 0);">int</span> cas<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>    cin<span class="sh_symbol" style="color: rgb(139, 0, 0);">>></span>cas<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>    <span class="sh_keyword" style="color: blue; font-weight: bold;">while</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>cas<span class="sh_symbol" style="color: rgb(139, 0, 0);">--)</span>    <span class="sh_cbracket" style="color: red;">{</span>        <span class="sh_function" style="font-weight: bold;">scanf</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_string" style="color: red; font-family: monospace;">"%d %d"</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,&</span>n<span class="sh_symbol" style="color: rgb(139, 0, 0);">,&</span>m<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>        dx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">clear</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>dy<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">clear</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>        px<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">clear</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>py<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">clear</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>        <span class="sh_keyword" style="color: blue; font-weight: bold;">for</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> i<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);"><=</span><span class="sh_number" style="color: purple;">500</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">++)</span>            G<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">].</span><span class="sh_function" style="font-weight: bold;">clear</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>        <span class="sh_keyword" style="color: blue; font-weight: bold;">for</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> i<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span>n<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">++)</span>            <span class="sh_function" style="font-weight: bold;">scanf</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_string" style="color: red; font-family: monospace;">"%s"</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>field<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">]);</span>        <span class="sh_function" style="font-weight: bold;">memset</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>sroad<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>inf<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span><span class="sh_keyword" style="color: blue; font-weight: bold;">sizeof</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>sroad<span class="sh_symbol" style="color: rgb(139, 0, 0);">));</span>        <span class="sh_keyword" style="color: blue; font-weight: bold;">for</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> i<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span>n<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">++)</span>          <span class="sh_cbracket" style="color: red;">{</span>              <span class="sh_keyword" style="color: blue; font-weight: bold;">for</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span><span class="sh_type" style="color: rgb(0, 100, 0);">int</span> j<span class="sh_symbol" style="color: rgb(139, 0, 0);">=</span><span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);"><</span>m<span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);">++)</span>                <span class="sh_keyword" style="color: blue; font-weight: bold;">if</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>field<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);">]==</span><span class="sh_string" style="color: red; font-family: monospace;">'D'</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span>                 <span class="sh_cbracket" style="color: red;">{</span>                    dx<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">push_back</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>                    dy<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">push_back</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>                    <span class="sh_function" style="font-weight: bold;">bfs</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">,</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>                 <span class="sh_cbracket" style="color: red;">}</span>                 <span class="sh_keyword" style="color: blue; font-weight: bold;">else</span> <span class="sh_keyword" style="color: blue; font-weight: bold;">if</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>field<span class="sh_symbol" style="color: rgb(139, 0, 0);">[</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">][</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);">]==</span><span class="sh_string" style="color: red; font-family: monospace;">'.'</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">)</span>                 <span class="sh_cbracket" style="color: red;">{</span>                    px<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">push_back</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>i<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>                    py<span class="sh_symbol" style="color: rgb(139, 0, 0);">.</span><span class="sh_function" style="font-weight: bold;">push_back</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">(</span>j<span class="sh_symbol" style="color: rgb(139, 0, 0);">);</span>                 <span class="sh_cbracket" style="color: red;">}</span>          <span class="sh_cbracket" style="color: red;">}</span>       <span class="sh_function" style="font-weight: bold;">solve</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">();</span>    <span class="sh_cbracket" style="color: red;">}</span>    <span class="sh_keyword" style="color: blue; font-weight: bold;">return</span> <span class="sh_number" style="color: purple;">0</span><span class="sh_symbol" style="color: rgb(139, 0, 0);">;</span><span class="sh_cbracket" style="color: red;">}</span>


    1 0
    原创粉丝点击