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

superman

聚精會神搞建設 一心一意謀發展
posts - 190, comments - 17, trackbacks - 0, articles - 0
   :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

ZOJ 1083 - Frame Stacking

Posted on 2008-06-16 14:20 superman 閱讀(629) 評論(0)  編輯 收藏 引用 所屬分類: ZOJ
  1 /* Accepted 1083 C++ 00:00.01 840K */
  2 #include <iostream>
  3 
  4 using namespace std;
  5 
  6 int n, m;
  7 char pic[30][30];
  8 
  9 int in[26];
 10 bool map[30][30];
 11 
 12 struct { int ax, ay, bx, by; } frame[26];
 13 int FrameCnt;
 14 
 15 bool choosed[26];
 16 char ans[26];
 17 
 18 void TopSort(int k)
 19 {
 20     if(k == FrameCnt)
 21     {
 22         for(int i = 0; i < FrameCnt; i++)
 23             cout << char(ans[i] + 'A');
 24         cout << endl;
 25         return;
 26     }
 27     
 28     for(int i = 0; i < FrameCnt; i++)
 29         if(in[i] == 0 && choosed[i] == false)
 30         {
 31             ans[k] = i;
 32             
 33             for(int j = 0; j < FrameCnt; j++)
 34                 if(map[i][j])
 35                     in[j]--;
 36             
 37             choosed[i] = true;
 38             TopSort(k + 1);
 39             choosed[i] = false;
 40             
 41             for(int j = 0; j < FrameCnt; j++)
 42                 if(map[i][j])
 43                     in[j]++;
 44         }
 45 }
 46 
 47 int main()
 48 {
 49     while(cin >> n >> m)
 50     {
 51         memset(in0sizeof(in));
 52         memset(pic, falsesizeof(pic));
 53         memset(map, falsesizeof(map));
 54         memset(choosed, falsesizeof(choosed));
 55         
 56         bool appear[26= { false };
 57         
 58         for(int i = 0; i < n; i++)
 59         for(int j = 0; j < m; j++)
 60         {
 61             cin >> pic[i][j];
 62             if(pic[i][j] == '.')
 63                 pic[i][j] = -1;
 64             else
 65             {
 66                 pic[i][j] -= 'A';
 67                 appear[pic[i][j]] = true;
 68             }
 69         }
 70         
 71         FrameCnt = 0;
 72         for(int i = 0; i < 26; i++)
 73             FrameCnt += appear[i];
 74         
 75         for(int k = 0; k < FrameCnt; k++)
 76         {
 77             bool x;
 78             
 79             x = false;
 80             for(int i = 0; i < n; i++) {
 81                 for(int j = 0; j < m; j++)
 82                     if(pic[i][j] == k) {
 83                         frame[k].ax = i; x = truebreak;
 84                     }
 85                 if(x) break;
 86             }
 87             
 88             x = false;
 89             for(int j = 0; j < m; j++) {
 90                 for(int i = 0; i < n; i++)
 91                     if(pic[i][j] == k) {
 92                         frame[k].ay = j; x = truebreak;
 93                     }
 94                 if(x) break;
 95             }
 96             
 97             x = false;
 98             for(int i = n - 1; i >= 0; i--) {
 99                 for(int j = m - 1; j >= 0; j--)
100                     if(pic[i][j] == k) {
101                         frame[k].bx = i; x = truebreak;
102                     }
103                 if(x) break;
104             }
105             
106             x = false;
107             for(int j = m - 1; j >= 0; j--) {
108                 for(int i = n - 1; i >= 0; i--)
109                     if(pic[i][j] == k) {
110                         frame[k].by = j; x = truebreak;
111                     }
112                 if(x) break;
113             }
114         }
115         
116         for(int k = 0; k < FrameCnt; k++)
117         {
118             int i, j;
119             
120             i = frame[k].ax;
121             for(j = frame[k].ay; j <= frame[k].by; j++)
122                 if(pic[i][j] != k)
123                     map[k][pic[i][j]] = true;
124             
125             i = frame[k].bx;
126             for(j = frame[k].ay; j <= frame[k].by; j++)
127                 if(pic[i][j] != k)
128                     map[k][pic[i][j]] = true;
129             
130             j = frame[k].ay;
131             for(i = frame[k].ax; i <= frame[k].bx; i++)
132                 if(pic[i][j] != k)
133                     map[k][pic[i][j]] = true;
134             
135             j = frame[k].by;
136             for(i = frame[k].ax; i <= frame[k].bx; i++)
137                 if(pic[i][j] != k)
138                     map[k][pic[i][j]] = true;
139         }
140         
141         for(int i = 0; i < FrameCnt; i++)
142             for(int j = 0; j < FrameCnt; j++)
143                 if(map[i][j])
144                     in[j]++;
145         
146         TopSort(0);
147     }
148     
149     return 0;
150 }
151 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品福利影院| 国产免费观看久久| 99国产精品99久久久久久| 亚洲区在线播放| 欧美另类99xxxxx| 亚洲婷婷在线| 欧美一区二区在线免费观看| 国产美女精品一区二区三区| 欧美一区日韩一区| 欧美在线短视频| 亚洲欧洲一区二区三区久久| 亚洲国产美女| 国产精品久久夜| 猫咪成人在线观看| 欧美屁股在线| 久久精品视频网| 欧美母乳在线| 久久精品久久99精品久久| 麻豆精品在线播放| 亚洲欧美另类综合偷拍| 久久精品官网| 亚洲性线免费观看视频成熟| 午夜电影亚洲| 日韩视频免费在线观看| 先锋影院在线亚洲| 亚洲精品在线看| 欧美一区亚洲一区| 日韩亚洲精品电影| 久久成人免费电影| 亚洲午夜久久久久久久久电影院| 欧美亚洲免费电影| 宅男精品视频| 猫咪成人在线观看| 久久精品盗摄| 国产精品xxxav免费视频| 欧美成年视频| 国产亚洲精品自拍| 99av国产精品欲麻豆| 一区在线观看| 午夜视频久久久| 亚洲一二三区精品| 欧美freesex交免费视频| 久久国产精彩视频| 欧美午夜a级限制福利片| 欧美波霸影院| 伊人久久综合| 欧美亚洲一区二区在线| 亚洲自拍都市欧美小说| 欧美大片18| 女主播福利一区| 国内精品久久国产| 午夜精品一区二区三区在线视| 9l国产精品久久久久麻豆| 久久综合九色欧美综合狠狠| 欧美在线观看视频一区二区| 欧美午夜精品理论片a级按摩| 欧美国产成人精品| 亚洲国产精品va在线观看黑人| 亚洲欧美日韩精品久久亚洲区 | 国产欧美一二三区| 99国产精品久久| 亚洲毛片在线| 欧美—级高清免费播放| 亚洲国产美女| 亚洲精品一二区| 欧美精品少妇一区二区三区| 欧美激情一区二区久久久| 影音先锋久久精品| 久久综合五月| 亚洲经典自拍| 亚洲深夜av| 国产精品久久久久久久一区探花| 一本色道久久综合一区| 在线综合+亚洲+欧美中文字幕| 欧美日韩精品在线视频| 夜夜嗨av一区二区三区四季av| 一本久道久久综合狠狠爱| 欧美日韩一卡| 亚洲欧美日本在线| 久久一区二区三区国产精品| 极品尤物av久久免费看| 免费成人在线视频网站| 亚洲人www| 亚洲欧美视频| 黑丝一区二区三区| 欧美aⅴ一区二区三区视频| 亚洲精品乱码久久久久久蜜桃麻豆 | 国产亚洲欧美激情| 久久欧美肥婆一二区| 亚洲国产天堂久久综合网| 亚洲视频欧美视频| 国产日韩欧美精品| 免费一级欧美在线大片| 一本一道久久综合狠狠老精东影业| 性高湖久久久久久久久| 今天的高清视频免费播放成人| 免费一级欧美在线大片| 一区二区精品在线观看| 久久一本综合频道| 一二三区精品| 激情久久五月| 欧美午夜免费电影| 久久久欧美精品sm网站| 夜久久久久久| 欧美成人激情视频免费观看| 亚洲五月婷婷| 亚洲国产欧美一区二区三区同亚洲| 欧美午夜一区二区| 另类人畜视频在线| 中日韩男男gay无套| 欧美成人dvd在线视频| 亚洲在线播放电影| 亚洲精品日日夜夜| 激情自拍一区| 国产欧美一区二区三区在线看蜜臀| 久久午夜羞羞影院免费观看| 一区二区三区高清在线观看| 欧美成人亚洲成人日韩成人| 欧美亚洲免费高清在线观看| 亚洲日本乱码在线观看| 黄色亚洲在线| 国产精品一区二区欧美| 欧美日韩小视频| 欧美成人免费大片| 欧美在线中文字幕| 亚洲自拍偷拍色片视频| 亚洲精选在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 午夜精品在线看| 99在线精品视频在线观看| 91久久国产综合久久91精品网站| 国产欧美丝祙| 国产美女精品人人做人人爽| 欧美婷婷久久| 欧美三级欧美一级| 欧美激情一区二区三区在线视频观看 | 亚洲福利av| 欧美成人视屏| 欧美国产在线电影| 欧美成人首页| 亚洲第一成人在线| 亚洲国产高清在线观看视频| 牛牛国产精品| 欧美激情精品久久久久久| 欧美高清在线视频观看不卡| 男女视频一区二区| 欧美成人精品一区二区三区| 老妇喷水一区二区三区| 麻豆国产精品va在线观看不卡| 校园激情久久| 久久亚洲综合色| 鲁大师影院一区二区三区| 麻豆精品一区二区综合av| 免费成人在线视频网站| 欧美二区在线观看| 亚洲国产一区二区三区高清| 亚洲人成网站在线观看播放| 亚洲人成人一区二区三区| 亚洲毛片av在线| 亚洲一区亚洲二区| 欧美专区在线播放| 欧美freesex交免费视频| 欧美精品一卡二卡| 国产精品乱码久久久久久| 国产视频久久久久| 亚洲国产日韩在线| 在线视频你懂得一区| 午夜精品久久久久久久99热浪潮 | 亚洲大片精品永久免费| 91久久国产综合久久蜜月精品| 亚洲狼人精品一区二区三区| 一区二区三区偷拍| 久久久久久综合网天天| 欧美国产综合| 亚洲专区欧美专区| 麻豆免费精品视频| 欧美视频在线观看一区| 国内精品免费在线观看| 91久久精品视频| 欧美在线www| 亚洲精品国产拍免费91在线| 亚洲欧美成人精品| 欧美激情视频一区二区三区免费| 国产精品久久久久久五月尺| 又紧又大又爽精品一区二区| 亚洲色无码播放| 牛牛精品成人免费视频| 亚洲视频免费观看| 欧美电影免费观看网站 | 美女精品一区| 国产精品一区二区久久| 亚洲精品日韩在线观看| 久久精品视频免费| 一区二区三区四区国产| 麻豆国产va免费精品高清在线| 国产精品久久久久久久久搜平片| 亚洲国产高清在线| 久久精品国产第一区二区三区最新章节 | 亚洲国产精品久久久久秋霞不卡| 亚洲欧美日韩在线播放|