zoukankan      html  css  js  c++  java
  • 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>
    


  • 相关阅读:
    [Bzoj1009][HNOI2008]GT考试(动态规划)
    [Bzoj1016][JSOI2008]最小生成树计数
    [Bzoj3224][Tyvj1728] 普通平衡树(splay/无旋Treap)
    [Bzoj1061][Noi2008]志愿者招募(费用流)
    [Bzoj1087][SCOI2005]互不侵犯King(状压dp)
    [Bzoj1051][HAOI2006]受欢迎的牛(tarjan)
    [Bzoj1003][ZJOI2006]物流运输(spfa+dp)
    [Bzoj1026][SCOI2009]windy数(数位dp)
    插入随机数到MySQL数据库
    SSH框架整合配置所需JAR包(SSH整合)
  • 原文地址:https://www.cnblogs.com/smilesundream/p/6642534.html
Copyright © 2011-2022 走看看