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

<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//////
",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//////
",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
",v,match[v]);</span>
       <span class="sh_comment" style="color: rgb(165, 42, 42); font-style: italic;">// printf("match: %d  w:%d
",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
");</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
",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
",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
",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
",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
",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>


原文地址:https://www.cnblogs.com/smilesundream/p/6642534.html