• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            心如止水
            Je n'ai pas le temps
            posts - 400,comments - 130,trackbacks - 0
            題目大意:給出一個無邊權(quán)無向圖,起始結(jié)點為1,終止結(jié)點為t,求出從1到t的全部路徑。
            先求出和t屬于同一個連通分量的結(jié)點,然后DFS。
            以下是我的代碼:
            #include<stdio.h>
            #include
            <string.h>
            #define maxn 1007
            #define max(a,b) (a>b?a:b)
            long cas,aim,n,m,ans,a[maxn],way[maxn];
            bool g[maxn][maxn],used[maxn];
            void swap(long &a,long &b)
            {
                
            long t=a;a=b;b=t;
            }
            void travel(long node)
            {
                used[node]
            =true;
                m
            ++;
                a[m]
            =node;
                
            for(long i=1;i<=n;i++)
                  
            if(!used[i]&&g[node][i])
                    travel(i);
            }
            void Qsort(long *a,long begin,long end)
            {
                
            long i=begin,j=end,mid=a[(begin+end)/2];
                
            do{
                     
            while(a[i]<mid) i++;
                     
            while(a[j]>mid) j--;
                     
            if(i<=j)
                     {
                        swap(a[i],a[j]);
                        i
            ++;j--;
                     }
                }
            while(i<=j);
                
            if(begin<j) Qsort(a,begin,j);
                
            if(i<end)   Qsort(a,i,end);
            }
            void dfs(long node,long dep)
            {
                
            if(node==aim)
                {
                   
            bool first=true;
                   
            for(long i=1;i<=dep;i++)
                   {
                      
            if(first) first=false;
                      
            else printf(" ");
                      printf(
            "%ld",way[i]);
                   }
                   putchar(
            '\n');
                   ans
            ++;
                   
            return;
                }
                
            for(long i=1;i<=m;i++)
                  
            if(!used[a[i]]&&g[node][a[i]])
                  {
                     way[dep
            +1]=a[i];
                     used[a[i]]
            =true;
                     dfs(a[i],dep
            +1);
                     used[a[i]]
            =false;
                  }
            }
            int main()
            {
                
            long s,t;
                cas
            =0;
                
            while(scanf("%ld",&aim)==1)
                {
                   cas
            ++;
                   n
            =ans=0;
                   memset(g,
            false,sizeof(g));
                   
            while(scanf("%ld%ld",&s,&t)==2)
                   {
                      
            if(s==0&&t==0break;
                      n
            =max(n,s);n=max(n,t);
                      g[s][t]
            =g[t][s]=true;
                   }
                   memset(used,
            false,sizeof(used));
                   m
            =0;
                   travel(aim);
                   Qsort(a,
            1,m);
                   memset(way,
            0,sizeof(way));
                   memset(used,
            false,sizeof(used));
                   used[
            1]=true;
                   way[
            1]=1;
                   printf(
            "CASE %ld:\n",cas);
                   dfs(
            1,1);
                   printf(
            "There are %ld routes from the firestation to streetcorner %ld.\n",ans,aim);
                }
            return 0;
            }


            posted on 2010-03-20 12:03 lee1r 閱讀(483) 評論(0)  編輯 收藏 引用 所屬分類: 題目分類:搜索
            99精品国产综合久久久久五月天| 久久精品国产99久久久古代| 日韩精品久久久久久| 久久国产精品免费| 久久久噜噜噜久久中文字幕色伊伊 | 久久久精品国产亚洲成人满18免费网站 | 欧美激情精品久久久久| 亚洲国产成人精品久久久国产成人一区二区三区综| 久久久国产精品网站| 欧美精品一区二区久久| 久久久久亚洲AV无码网站| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 1000部精品久久久久久久久| 久久久久免费视频| 久久久国产精品福利免费| 人人妻久久人人澡人人爽人人精品| 精品无码久久久久国产| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 97久久精品国产精品青草| 久久精品中文字幕大胸| 精品亚洲综合久久中文字幕| 久久青青草视频| 久久久黄片| 久久精品国产亚洲5555| 一本一道久久精品综合| 国产Av激情久久无码天堂| 亚洲人成网亚洲欧洲无码久久| 久久国产综合精品五月天| 久久精品国产精品国产精品污| 久久水蜜桃亚洲av无码精品麻豆| 日日狠狠久久偷偷色综合免费 | 久久国产欧美日韩精品| 久久久噜噜噜久久中文字幕色伊伊 | 国产日韩久久免费影院| 99久久免费只有精品国产| 日韩欧美亚洲综合久久影院d3| 久久国产精品成人免费| 久久九九亚洲精品| 久久精品国产99久久香蕉| 人妻无码精品久久亚瑟影视| 久久精品国产一区二区三区|