• <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>

            The Way of C++

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              55 Posts :: 0 Stories :: 19 Comments :: 0 Trackbacks

            公告

            The first time i use this blog, i will write something that i learn which i think is worth write down.

            常用鏈接

            留言簿(3)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            使用深搜,根據每個結點的結束訪問時間的降序對結點進行拓撲排序,如果在某個結點的擴展過程中發現反向邊,則出現了矛盾;否則對所得到的結點序列,進行一次遍歷,對于相鄰的結點檢測是否存在連接邊(存在則表示它們的順序已經可以確定),如果所有的相鄰結點都可確定順序,則這個序列是完全有序的,對于后面的輸入可以忽略;如果處理完所有的輸入還不能得到完全有序序列,則輸出序列順序不能確定。
            題意實際上暗示了對每一次輸入都要做處理,如果對于某一次輸入已經能確定序列矛盾或者序列完全有序,則可以忽略后面的輸入。


             1
             #include<stdio.h>
             2 #include<string.h>
             3 int n,m;
             4 int e[27][27];
             5 char in[4];
             6 char temp[27];
             7 int cur;
             8 int incons;
             9 int color[27];
            10 void dfs(int k)
            11 {
            12     color[k]=1;
            13     int i;
            14     for(i=1;i<=n;++i)
            15     {
            16         if(e[k][i]&&color[i]==0) dfs(i);
            17         else if(e[k][i]&&color[i]==1) incons=1//reverse edge exist, inconsistency found
            18     }
            19     color[k]=2;
            20     temp[cur++]=k-1+'A';
            21 }
            22 int main()
            23 {
            24     int i,j,found;
            25     while(scanf("%d%d",&n,&m)&&n&&m)
            26     {
            27         memset(e,0,sizeof(e));
            28         found=0;
            29         incons=0;
            30         for(i=1;i<=m;++i)
            31         {
            32             scanf("%s",in);
            33             e[in[0]-'A'+1][in[2]-'A'+1]=1;
            34             if(!found&&!incons)
            35             {
            36                 cur=0;
            37                 memset(color,0,sizeof(color));
            38                 for(j=1;j<=n;++j)
            39                     if(color[j]==0) dfs(j);
            40                 temp[cur]='\0';
            41                 if(incons==1//inconsistency found
            42                     incons=i;
            43                 else{
            44                     int bb=1;
            45                     for(j=cur-1;j>0;--j) //check if the sort of sequence can be confirmed
            46                         if(!e[temp[j]-'A'+1][temp[j-1]-'A'+1]) {bb=0;break;}
            47                     if(bb) found=i; // sorted sequence determined
            48                 }
            49             }
            50         }
            51         char tt;
            52         for(i=0,j=cur-1;i<j;i++,j--)  //reverse the sorted sequence
            53         {
            54             tt=temp[i];
            55             temp[i]=temp[j];
            56             temp[j]=tt;
            57         }
            58         if(incons) printf("Inconsistency found after %d relations.\n",incons);
            59         else if(found) printf("Sorted sequence determined after %d relations: %s.\n",found,temp);
            60         else printf("Sorted sequence cannot be determined.\n");
            61     }
            62     return 1;
            63 }
            64 
            posted on 2010-04-20 15:42 koson 閱讀(638) 評論(0)  編輯 收藏 引用 所屬分類: ACM
            亚洲AV无码久久精品蜜桃| 91精品国产综合久久精品| 性高湖久久久久久久久AAAAA| 人妻少妇久久中文字幕| 久久高潮一级毛片免费| 国产精品中文久久久久久久| .精品久久久麻豆国产精品| 日本精品久久久久久久久免费| 熟妇人妻久久中文字幕| 久久久精品视频免费观看| 久久久久久毛片免费播放| 亚洲美日韩Av中文字幕无码久久久妻妇| 无码人妻久久一区二区三区免费丨| 久久久精品无码专区不卡| 国产亚洲美女精品久久久久狼| 少妇人妻综合久久中文字幕| 精品人妻伦九区久久AAA片69| 久久99精品久久久久久久不卡| 一级做a爰片久久毛片免费陪| 久久本道综合久久伊人| 亚洲狠狠久久综合一区77777| 久久精品中文騷妇女内射| 色婷婷综合久久久久中文一区二区| 合区精品久久久中文字幕一区| 94久久国产乱子伦精品免费| 久久男人Av资源网站无码软件| 99久久无色码中文字幕人妻| 久久综合鬼色88久久精品综合自在自线噜噜 | 丰满少妇高潮惨叫久久久| 亚洲成色www久久网站夜月| 久久99九九国产免费看小说| 欧美午夜A∨大片久久| 青青草国产97免久久费观看| 久久伊人影视| 午夜视频久久久久一区| 亚洲午夜久久久| 国内精品人妻无码久久久影院导航| 久久久www免费人成精品| 天天爽天天狠久久久综合麻豆| 久久人人爽人人爽人人片av高请 | 久久久精品人妻一区二区三区蜜桃 |