• <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 閱讀(624) 評論(0)  編輯 收藏 引用 所屬分類: ACM
            久久精品国产亚洲av日韩| 一97日本道伊人久久综合影院| 久久国产成人| 91久久九九无码成人网站| 久久亚洲日韩精品一区二区三区 | 久久精品成人免费网站| 久久精品国产男包| 日本WV一本一道久久香蕉| 久久精品综合网| 日产精品久久久久久久| 亚洲午夜久久久久久久久电影网| 99久久精品免费看国产一区二区三区| 欧美日韩精品久久久免费观看| 久久精品国产2020| 久久这里只有精品18| 久久福利青草精品资源站免费| 品成人欧美大片久久国产欧美| 国产成人精品久久亚洲高清不卡 | 色综合久久中文色婷婷| 久久久久九九精品影院| 99精品国产免费久久久久久下载 | 亚洲国产精品无码成人片久久| 久久久久成人精品无码中文字幕 | 国产成人无码精品久久久性色 | 国内精品久久久久影院优| 精品人妻久久久久久888| 久久香蕉国产线看观看乱码| 久久亚洲中文字幕精品一区四| 久久综合鬼色88久久精品综合自在自线噜噜| 亚洲精品成人久久久| 男女久久久国产一区二区三区 | 久久婷婷五月综合色奶水99啪| 久久se精品一区精品二区| 伊人久久大香线蕉AV一区二区| 性做久久久久久久| 久久av免费天堂小草播放| 无码AV中文字幕久久专区| 久久99精品久久久久久水蜜桃| 亚洲综合熟女久久久30p| 狠狠久久综合| 99精品久久精品|