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

            A Za, A Za, Fighting...

            堅信:勤能補拙

            PKU 1270 Following Orders

            問題:
            http://acm.pku.edu.cn/JudgeOnline/problem?id=1270

            思路:
            拓撲排序適合于描述事件發(fā)生的先后次序
            這題,對于a>b這樣的題目要求,就非常適合用拓撲排序來進行

            一次AC,寫的過程還接了個女朋友的電話,跟同學聊了會天,o(∩_∩)o...哈哈

            代碼:
             1 #include<stdio.h>
             2 #include<stdlib.h>
             3 #include<string.h>
             4 #define STR_LEN 207
             5 #define MAX_N 26
             6 int adj[MAX_N][MAX_N], in_dgr[MAX_N];
             7 int visited[MAX_N];
             8 int total, ch[MAX_N];
             9 char ans[MAX_N];
            10 
            11 int
            12 init()
            13 {
            14     int i, f, t, len;
            15     char str[STR_LEN];
            16     total = 0;
            17     memset(ch, 0sizeof(ch));
            18     memset(in_dgr, 0sizeof(in_dgr));
            19     memset(adj, 0sizeof(adj));
            20     memset(visited, 0sizeof(visited));
            21     memset(ans, 0sizeof(ans));
            22     if(fgets(str, STR_LEN, stdin) == NULL)
            23         return 0;
            24     len = strlen(str);
            25     for(i=0; i<len; i+=2) {
            26         if(str[i]>='a' && str[i]<='z') {
            27             ++total;
            28             ++ch[str[i]-'a'];
            29         }
            30     }
            31     fgets(str, STR_LEN, stdin);
            32     len = strlen(str);
            33     for(i=0; i<len; i+=2) {
            34         if((i>>1)%2 == 0)
            35             f = str[i]-'a';
            36         else {
            37             t = str[i]-'a';
            38             adj[f][t] = 1;
            39             ++in_dgr[t];
            40         }
            41     }
            42     return 1;
            43 }
            44 
            45 void
            46 topo_sort(int depth)
            47 {
            48     int i, j;
            49     if(depth == total) {
            50         printf("%s\n", ans);
            51         return;
            52     }
            53     for(i=0; i<MAX_N; i++) {
            54         if(ch[i] && !visited[i] && !in_dgr[i]) {
            55             visited[i] = 1;
            56             ans[depth] = 'a'+i;
            57             for(j=0; j<MAX_N; j++)
            58                 if(adj[i][j])
            59                     --in_dgr[j];
            60             topo_sort(depth+1);
            61             visited[i] = 0;
            62             for(j=0; j<MAX_N; j++)
            63                 if(adj[i][j])
            64                     ++in_dgr[j];
            65         }
            66     }
            67 }
            68 
            69 int
            70 main(int argc, char **argv)
            71 {
            72     while(init()) {
            73         topo_sort(0);
            74         printf("\n");
            75     }
            76 }

            posted on 2010-09-14 20:00 simplyzhao 閱讀(186) 評論(0)  編輯 收藏 引用 所屬分類: G_其他

            導航

            <2010年9月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            統(tǒng)計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲级αV无码毛片久久精品| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 无码人妻少妇久久中文字幕 | 欧美伊人久久大香线蕉综合| 午夜精品久久久久久久| 97久久超碰国产精品2021| 午夜精品久久久久| 久久免费视频观看| 日产精品久久久久久久| 欧美久久亚洲精品| 亚洲精品国产字幕久久不卡| 国产高潮国产高潮久久久91| 99久久精品费精品国产一区二区| 狠狠色综合久久久久尤物| 青草国产精品久久久久久| 国产亚州精品女人久久久久久 | 久久国产精品免费一区| 欧美黑人又粗又大久久久| 久久一区二区三区免费| 国产日韩欧美久久| 久久精品国产亚洲av日韩| 久久人人妻人人爽人人爽| 热久久视久久精品18| 精品国产91久久久久久久a| 麻豆一区二区99久久久久| 久久人人爽人人爽人人爽| 亚洲综合伊人久久综合| 久久精品国产清自在天天线| 久久久久99精品成人片牛牛影视| 免费一级欧美大片久久网| 中文精品久久久久国产网址| 一本大道加勒比久久综合| 久久无码人妻一区二区三区 | 久久天堂AV综合合色蜜桃网| 精品久久久久久久国产潘金莲| 久久久黄片| 色综合久久夜色精品国产| 日本WV一本一道久久香蕉| 久久人人添人人爽添人人片牛牛| 色妞色综合久久夜夜| 漂亮人妻被中出中文字幕久久 |