• <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 閱讀(636) 評論(0)  編輯 收藏 引用 所屬分類: ACM
            久久综合给久久狠狠97色 | 久久精品免费一区二区三区| 亚洲国产精品一区二区久久hs| 亚洲国产精品无码久久| 国产精品久久久久无码av| 久久综合久久综合九色| 欧美性猛交xxxx免费看久久久| 97精品依人久久久大香线蕉97| 久久精品国产99国产精品澳门| 久久久噜噜噜久久| 少妇精品久久久一区二区三区| www.久久热.com| 久久精品中文字幕大胸| 久久91精品国产91久久麻豆| 久久中文字幕精品| 精品久久香蕉国产线看观看亚洲| 色妞色综合久久夜夜| 色综合合久久天天综合绕视看| 一本一道久久综合狠狠老| 久久久久国产一区二区| 久久精品草草草| 中文字幕人妻色偷偷久久| 久久综合伊人77777| 久久久精品一区二区三区| 久久这里只有精品18| 7777精品伊人久久久大香线蕉| 亚洲国产天堂久久综合网站| 色婷婷久久综合中文久久蜜桃av| 狠狠色丁香久久婷婷综合蜜芽五月| 91精品国产91热久久久久福利 | 99久久国产综合精品女同图片 | 久久久噜噜噜久久中文福利| 久久久久99这里有精品10| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国产—久久香蕉国产线看观看| 国产成人久久精品激情 | 国产精品无码久久综合| 久久久一本精品99久久精品88| 久久久久久久综合狠狠综合| 青青草原综合久久大伊人| 久久久久av无码免费网|