青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

A Za, A Za, Fighting...

堅信:勤能補拙

PKU 1128 Frame Stacking

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

思路:
想法是有:先找出沒有被任何其他frame覆蓋的frame,然后將該frame進行標(biāo)記,使之匹配任何字母,然后重復(fù)以上過程
不過,程序不知道該如何寫

參考discuss以及其他人思路,發(fā)現(xiàn)可以用拓撲排序來做(拓撲排序,參考算法導(dǎo)論)
如何根據(jù)輸入來建立鄰接矩陣比較有意思,另外根據(jù)各個頂點的入度DFS實現(xiàn)拓撲排序

代碼:
  1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include<string.h>
  4 #define MAX_LEN 31
  5 #define MAX_NUM 27
  6 char map[MAX_LEN][MAX_LEN];
  7 int n, m;
  8 int adj[MAX_NUM][MAX_NUM], num, in[MAX_NUM], visited[MAX_NUM];
  9 int x1, y1, x2, y2;
 10 
 11 void
 12 search(char ch)
 13 {
 14     int i, j;
 15     x1 = y1 = MAX_LEN;
 16     x2 = y2 = -1;
 17     for(i=0; i<n; i++)
 18         for(j=0; j<m; j++)
 19             if(map[i][j] == ch) {
 20                 if(i<x1) x1 = i;
 21                 if(i>x2) x2 = i;
 22                 if(j<y1) y1 = j;
 23                 if(j>y2) y2 = j;
 24             }
 25 }
 26 
 27 void
 28 build_graph()
 29 {
 30     int i, j, k;
 31     char ch;
 32     num = 0;
 33     memset(adj, 0sizeof(adj));
 34     memset(in-1sizeof(in));
 35     for(i=0; i<n; i++) {
 36         for(j=0; j<m; j++) {
 37             if(map[i][j]=='.' || in[map[i][j]-'A']>-1)
 38                 continue;
 39             in[map[i][j]-'A'= 0;
 40             ++num;
 41             search(map[i][j]);
 42             for(k=x1; k<=x2; k++) {
 43                 ch = map[k][y1];
 44                 if(ch != map[i][j])
 45                     adj[map[i][j]-'A'][ch-'A'= 1;
 46             }
 47             for(k=x1; k<=x2; k++) {
 48                 ch = map[k][y2];
 49                 if(ch != map[i][j])
 50                     adj[map[i][j]-'A'][ch-'A'= 1;
 51             }
 52             for(k=y1; k<=y2; k++) {
 53                 ch = map[x1][k];
 54                 if(ch != map[i][j])
 55                     adj[map[i][j]-'A'][ch-'A'= 1;
 56             }
 57             for(k=y1; k<=y2; k++) {
 58                 ch = map[x2][k];
 59                 if(ch != map[i][j])
 60                     adj[map[i][j]-'A'][ch-'A'= 1;
 61             }
 62         }
 63     }
 64     for(i=0; i<MAX_NUM; i++)
 65         for(j=0; j<MAX_NUM; j++)
 66             if(adj[i][j])
 67                 ++in[j]; /* in-degree */
 68 }
 69 
 70 void
 71 topological_sort(char *str, int level)
 72 {
 73     int i, j;
 74     if(level == num) {
 75         printf("%s\n", str);
 76         return;
 77     }
 78     for(i=0; i<MAX_NUM; i++) {
 79         if(in[i]==0 && !visited[i]) {
 80             str[level] = 'A'+i;
 81             visited[i] = 1;
 82             for(j=0; j<MAX_NUM; j++)
 83                 if(adj[i][j])
 84                     --in[j];
 85             topological_sort(str, level+1);
 86             visited[i] = 0;
 87             for(j=0; j<MAX_NUM; j++)
 88                 if(adj[i][j])
 89                     ++in[j];
 90         }
 91     }
 92 }
 93 
 94 int
 95 main(int argc, char **argv)
 96 {
 97     int i;
 98     char str[MAX_NUM];
 99     while(scanf("%d %d"&n, &m)!=EOF) {
100         for(i=0; i<n; i++)
101             scanf("%s", map[i]);
102         build_graph();
103         memset(str, 0sizeof(str));
104         memset(visited, 0sizeof(visited));
105         topological_sort(str, 0);
106     }
107 }

posted on 2010-09-03 16:42 simplyzhao 閱讀(289) 評論(0)  編輯 收藏 引用 所屬分類: F_圖算法

導(dǎo)航

<2010年7月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

統(tǒng)計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产欧美韩日| 亚洲成人自拍视频| 国产精品高潮呻吟久久av黑人| 欧美在线亚洲在线| 亚洲一区二区三区四区五区午夜 | 欧美国产日韩a欧美在线观看| 亚洲一区二区三区四区视频| 亚洲在线1234| 欧美一区二区三区喷汁尤物| 欧美在线播放一区二区| 久久久7777| 免费在线成人| 亚洲人屁股眼子交8| 国产精品99久久99久久久二8| 亚洲午夜精品| 久久久欧美精品| 欧美精品日韩综合在线| 国产精品久久久久久一区二区三区| 国产精品尤物| 亚洲国产经典视频| 亚洲综合三区| 蜜桃久久精品乱码一区二区| 亚洲福利免费| 亚洲在线观看| 欧美专区日韩专区| 欧美激情综合五月色丁香小说| 欧美激情一区二区三区在线视频观看 | 欧美日韩色综合| 另类天堂视频在线观看| 亚洲无玛一区| 99精品欧美一区二区蜜桃免费| 欧美第一黄网免费网站| 免费久久99精品国产自在现线| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲制服丝袜在线| 亚洲午夜久久久久久尤物 | 亚洲国产日韩欧美综合久久 | 久久精品理论片| 亚洲欧洲一区二区在线播放| 亚洲第一在线综合网站| 亚洲欧美一区二区三区极速播放| 欧美激情第二页| 久久久久久久一区二区三区| 中文精品99久久国产香蕉| 老司机精品导航| 欧美一区二区三区啪啪| 国产精品欧美风情| 欧美一级电影久久| 亚洲一区二区在线观看视频| 欧美激情久久久久久| 最新中文字幕一区二区三区| 亚洲午夜精品网| 老司机午夜免费精品视频| 国产精品美女黄网| 国产伊人精品| 久久成人免费电影| 亚洲人成久久| 另类激情亚洲| 亚洲每日在线| 日韩午夜三级在线| 欧美日韩1区2区3区| 亚洲一区亚洲二区| 午夜一区二区三区不卡视频| 国产精品成人一区二区艾草| 亚洲精品美女久久7777777| 免费日韩成人| 极品尤物久久久av免费看| 亚洲免费视频网站| 老鸭窝毛片一区二区三区| 亚洲综合国产精品| 欧美精品激情blacked18| 久久成人一区二区| 国产一区视频在线看| 久久精品亚洲| 欧美精品www| 一区二区三区欧美亚洲| 亚洲一区二区三区午夜| 欧美区亚洲区| 欧美精品在欧美一区二区少妇| 樱桃国产成人精品视频| 午夜一区二区三区在线观看| 亚洲专区欧美专区| 一区二区亚洲精品| 欧美顶级大胆免费视频| 欧美人在线视频| 久久婷婷国产综合精品青草| 乱码第一页成人| 午夜精品福利视频| 欧美老女人xx| 久久亚洲一区二区三区四区| 久久精品99国产精品日本| 99热免费精品在线观看| 亚洲调教视频在线观看| 国产美女搞久久| 欧美一区二区在线| 欧美一级午夜免费电影| 国产精品羞羞答答| 亚洲看片一区| 亚洲精品日韩激情在线电影| 亚洲欧美国产精品va在线观看| 日韩视频一区二区三区在线播放| 欧美一区二区三区在线免费观看| 噜噜噜91成人网| 亚洲黄色免费电影| 欧美在线免费视屏| 久久久久久亚洲精品杨幂换脸 | 黑人一区二区三区四区五区| 欧美国产日韩精品免费观看| 亚洲国产精品va在线看黑人| 欧美日韩中文在线| 麻豆国产精品777777在线| 免费成人黄色| 日韩视频三区| 国产一区二区三区在线观看免费| 亚洲欧美日韩精品久久久| 亚洲伊人网站| 国产亚洲成精品久久| 久久免费视频网| 亚洲一区欧美一区| 亚洲国产mv| 亚洲免费视频网站| 在线精品福利| 国产精品国产三级国产aⅴ浪潮| 亚洲欧美日本精品| 日韩一区二区精品| 亚洲电影免费观看高清完整版在线观看 | 亚洲一区二区三区免费观看| 欧美韩日一区二区| 久久永久免费| 久久―日本道色综合久久| 久久精品国产亚洲精品| 久久久久久久国产| 蜜桃伊人久久| 一本久久a久久精品亚洲| 91久久中文字幕| 亚洲国产另类 国产精品国产免费| 欧美精品一区二区三| 久久精品五月婷婷| 亚洲欧美日韩成人| 欧美一区二区三区在线视频| 亚洲欧美日韩一区| 亚洲狼人精品一区二区三区| 亚洲国产精品v| 亚洲最新在线| 亚洲欧美色婷婷| 久久久综合香蕉尹人综合网| 亚洲一区二区三区高清不卡| 亚洲视频电影在线| 中文av一区特黄| 久久国产乱子精品免费女| 久久久亚洲国产天美传媒修理工| 久久精品国产久精国产思思| 久久精品一二三| 欧美日韩成人激情| 国产精品久线观看视频| 国产一区二区三区黄| 亚洲久久成人| 亚洲欧美清纯在线制服| 欧美成在线观看| 一区二区三区视频在线观看 | 欧美日本国产| 精久久久久久| 亚洲视频在线一区观看| 亚洲片在线观看| 美女91精品| 中文网丁香综合网| 美日韩在线观看| 9久re热视频在线精品| 午夜精品一区二区在线观看| 久久精品免费| 亚洲国产福利在线| 91久久国产综合久久91精品网站| 午夜久久资源| 欧美日韩免费高清一区色橹橹| 欧美午夜视频网站| 这里只有精品视频| 亚洲国产精品成人va在线观看| 亚洲一区二区三区成人在线视频精品| 亚洲国产精品www| 国产精品影音先锋| 亚洲黄色毛片| 欧美精品在线观看91| 在线免费观看日本欧美| 日韩午夜中文字幕| 亚洲国内欧美| 久久成人av少妇免费| 国产精品日韩一区二区| 久久福利毛片| 亚洲欧美一区二区激情| 国产精品一区二区三区免费观看 | 欧美bbbxxxxx| 欧美三级第一页| 免费久久99精品国产| 国产精品红桃| 亚洲视频在线观看一区| 在线午夜精品| 欧美大片在线观看| 久久精品免费看| 欧美午夜精品久久久| 蜜臀av性久久久久蜜臀aⅴ|