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

coreBugZJ

此 blog 已棄。

EOJ 1864 Playing With Cubes

  1/*
  2EOJ 1864 Playing With Cubes
  3
  4
  5----問題描述:
  6
  7Children are used to playing with special cubes with letters written on the cubes' faces.
  8The goal of the game is to compose words using such cubes.
  9If you want to compose the word "DOG", you must find 3 cubes, one containing the letter 'D',
 10        one containing the letter 'O', and one containing the letter 'G',
 11        and orient them so the proper letters are facing upward.
 12You are also given a some words, 
 13        each element of which contains a word that you would like to spell out using the cubes.
 14
 15
 16----輸入:
 17
 18There are several test cases,
 19each test case begins with two numbers N(1<=N<=50) and M(1<=M<=50).
 20the second line contains N string,the i-th string shows the uppercase letters(between 2 and 50,inclusive) on the i-th cube.
 21The third line contains the M words.Each element of words will contain between 2 and 50 uppercase letters, inclusive.
 22
 23
 24----輸出:
 25
 26Output the words' number that can be composed using the given cubes in ascending order.
 27If no words' number that can be composed output -1.
 28
 29
 30----樣例輸入:
 31
 325 3
 33ABCDEF DEFGHI OPQRST ZZZZZZ YYYYYY
 34CAT DOG PIZZA
 356 7
 36ABCDEF DEFGHI OPQRST MNZLSA QEIOGH IARJGS
 37DOG CAT MOUSE BIRD CHICKEN PIG ANIMAL
 38
 39
 40----樣例輸出:
 41
 421
 430 1 3 5
 44
 45
 46----分析:
 47
 48對每個 word 建立二分圖模型,
 49一邊 x[0], x[1],  x[n-1] 分別對應 word 中的每個字母,
 50一邊 y[0], y[1],  y[m-1] 分別對應每個 cube ,
 51若字母 x[i] 包含于 cube y[j] 中,則 x[i] 與 y[j] 連一條邊,
 52然后求出此二分圖最大匹配,若與 word 中字母個數相同,則輸出此 word 編號。
 53
 54求二分圖最大匹配使用匈牙利算法。
 55
 56
 57*/

 58
 59
 60#include <stdio.h>
 61#include <string.h>
 62
 63#define  L  59
 64
 65
 66/* 匈牙利算法 begin */
 67
 68int n;             /* 一邊 x[0], x[1],  x[n-1] */
 69int m;             /* 一邊 y[0], y[1],  y[m-1] */
 70int adj[ L ][ L ]; /* adj[i][j] != 0  表示 x[i] 與 y[j] 有邊 */
 71int res[ L ];      /* res[j]    != -1 表示當前與 y[j] 匹配的點為 x[res[j]] */
 72int sta[ L ];      /* sta[j]    != 0  表示 y[j] 在可增廣路中 */
 73
 74        /* 0 != find 表示找到可增廣路 */
 75int find( int i ) {
 76        int j;
 77        for ( j = 0; j < m; ++j ) {
 78                if ( adj[ i ][ j ] && (! sta[ j ]) ) {
 79                        sta[ j ] = 1;
 80                        if ( (-1 == res[ j ]) || (find(res[j])) ) {
 81                                res[ j ] = i;
 82                                return 1;
 83                        }

 84                }

 85        }

 86        return 0;
 87}

 88
 89        /* 求最大匹配 */
 90int maxMatch() {
 91        int i, ans = 0;
 92        memset( res, -1sizeof(res) );
 93        for ( i = 0; i < n; ++i ) {
 94                memset( sta, 0sizeof(sta) );
 95                if ( find(i) ) {
 96                        ++ans;
 97                }

 98        }

 99        return ans;
100}

101
102/* 匈牙利算法 end */
103
104
105int main() {
106        int  tc, tw;
107        char cube[ L ][ L ];
108        char word[ L ];
109        int  ans[ L ], tot;
110        int  i, j, k;
111        while ( 2 == scanf( "%d%d"&tc, &tw ) ) {
112                tot = 0;
113
114                for ( i = 0; i < tc; ++i ) {
115                        scanf( "%s", cube[ i ] );
116                }

117                for ( i = 0; i < tw; ++i ) {
118                        scanf( "%s", word );
119
120                        memset( adj, 0sizeof(adj) );
121                        n = strlen( word );
122                        m = tc;
123                        for ( j = 0; j < n; ++j ) {
124                                for ( k = 0; k < m; ++k ) {
125                                        if ( strchr( cube[ k ], word[ j ] ) != NULL ) {
126                                                adj[ j ][ k ] = 1;
127                                        }

128                                }

129                        }

130
131                        if ( maxMatch() == n ) {
132                                ans[ tot++ ] = i;
133                        }

134                }

135
136                if ( 0 == tot ) {
137                        puts( "-1" );
138                        continue;
139                }

140                printf( "%d", ans[ 0 ] );
141                for ( i = 1; i < tot; ++i ) {
142                        printf( " %d", ans[ i ] );
143                }

144                puts( "" );
145        }

146        return 0;
147}

148

posted on 2012-03-30 22:16 coreBugZJ 閱讀(762) 評論(0)  編輯 收藏 引用 所屬分類: ACMAlgorithm課內作業

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品高清网站| 国产欧美日韩视频在线观看| 久久综合狠狠| 国产精品va在线播放我和闺蜜| 欧美成人精品福利| 欧美日本精品一区二区三区| 国产一区二区中文| 校园春色综合网| 在线亚洲欧美视频| 欧美亚韩一区| 亚洲制服少妇| 亚洲一区二区三区高清| 国产精品久久久久影院色老大| 欧美伦理91i| 亚洲动漫精品| 欧美不卡高清| 欧美成人国产| 一本色道久久综合精品竹菊| 欧美国产日韩在线观看| 久久五月婷婷丁香社区| 亚洲福利免费| 亚洲激情在线视频| 欧美国产第二页| 99视频在线观看一区三区| 亚洲激情在线观看| 欧美三级特黄| 欧美一区二区三区视频在线 | 小处雏高清一区二区三区| 亚洲激情欧美| 欧美日韩中文另类| 欧美在线观看一区| 久久精品国产久精国产爱| 亚洲第一偷拍| 亚洲激情综合| 国产精品电影观看| 久久久午夜电影| 欧美激情一区二区三区| 一区二区久久| 亚洲欧美三级伦理| 亚洲黄一区二区三区| 日韩午夜免费视频| 国产在线欧美日韩| 亚洲精品综合精品自拍| 国产精品久久看| 老色批av在线精品| 欧美视频中文字幕在线| 在线不卡中文字幕| 亚洲美女视频在线免费观看| 国产欧美日韩高清| 欧美黄色影院| 国产精品久久久久久久免费软件| 在线精品一区| 99日韩精品| 国产欧美日韩另类视频免费观看| 日韩视频免费看| 一区二区三区四区五区在线| 国产亚洲欧美激情| 最新亚洲电影| 韩国精品在线观看| 99riav久久精品riav| 极品裸体白嫩激情啪啪国产精品| 亚洲欧美成人一区二区在线电影 | 男女视频一区二区| 亚洲美女av网站| 国产精品网站视频| 亚洲第一精品久久忘忧草社区| 欧美一区二区三区在线看| 国内在线观看一区二区三区| 亚洲日韩第九十九页| 国产自产女人91一区在线观看| 欧美一二三视频| 久久综合导航| 久久久久国色av免费观看性色| 日韩一级黄色片| 国内精品久久久久国产盗摄免费观看完整版| 99精品国产在热久久| 欧美在线精品一区| 翔田千里一区二区| 欧美日韩ab片| 亚洲国产日本| 在线观看中文字幕不卡| 篠田优中文在线播放第一区| 亚洲视频精选在线| 欧美国产日产韩国视频| 免费中文字幕日韩欧美| 国产性天天综合网| 性欧美暴力猛交另类hd| 亚洲欧美日韩一区二区三区在线观看| 亚洲精品欧美日韩专区| 国产一区二区黄色| 新67194成人永久网站| 午夜精品三级视频福利| 国产精品国产三级国产a| 99成人在线| 亚洲视频日本| 国产精品福利在线观看网址| 一区二区日韩| 欧美一区二区三区在线视频| 国产精品亚洲综合色区韩国| 欧美一级午夜免费电影| 久久精品午夜| 在线免费观看欧美| 免费不卡在线视频| 最新热久久免费视频| 99精品福利视频| 国产精品二区影院| 亚洲欧美国产一区二区三区| 欧美在线免费观看| 韩日视频一区| 亚洲一区二区在线播放| 欧美一区二区三区四区高清| 国产精品入口麻豆原神| 欧美中文字幕在线| 欧美成va人片在线观看| 日韩视频免费看| 国产精品成人免费视频 | 亚洲高清不卡av| 麻豆精品视频| 亚洲国产日韩一区| 国产精品视频免费一区| 午夜欧美大尺度福利影院在线看| 黄色亚洲精品| 久久久亚洲国产天美传媒修理工| 日韩手机在线导航| 国产精品高潮视频| 久久久国产精品一区二区中文| 亚洲深爱激情| 国产女人18毛片水18精品| 欧美大色视频| 亚洲影院高清在线| 国产一区亚洲一区| 欧美激情一二三区| 99热在这里有精品免费| 久久久久久久久久久成人| 在线视频成人| 国产精品久久久久久久久婷婷| 91久久久久久久久| 小黄鸭精品密入口导航| 91久久久久| 国产欧美日韩一区二区三区在线观看| 亚洲第一级黄色片| 亚洲欧美日韩国产一区二区三区| 久久蜜桃av一区精品变态类天堂| 亚洲一区二区三区中文字幕在线| 久久久国产午夜精品| 亚洲韩国精品一区| 销魂美女一区二区三区视频在线| 欧美色播在线播放| 久久久精品动漫| 亚洲精品乱码久久久久| 久久天堂精品| 亚洲伊人网站| 一本大道久久精品懂色aⅴ| 精品av久久707| 国产伦精品一区二区三区高清| 亚洲一区二区精品| 久久在线免费观看| 欧美在线观看日本一区| 一二三四社区欧美黄| 亚洲人成网站777色婷婷| 国内伊人久久久久久网站视频| 久久精品国产亚洲一区二区三区 | 国产精品一区二区三区观看| 麻豆成人小视频| 久久久久久婷| 欧美中文字幕在线观看| 午夜精品久久久久久久白皮肤| 亚洲欧美中文另类| 亚洲国产mv| 一区二区视频在线观看| 好吊色欧美一区二区三区视频| 久久久久.com| 欧美一区国产二区| 午夜亚洲激情| 欧美一级一区| 欧美一区二区免费| 香蕉国产精品偷在线观看不卡| 久久精品一区二区国产| 亚洲免费影视第一页| 亚洲午夜视频| 亚洲一区国产一区| 欧美一级免费视频| 久久久www| 久久久久久久高潮| 久久精品国产精品亚洲综合| 欧美中文字幕视频在线观看| 国产一区高清视频| 激情久久综艺| 狠狠色综合色综合网络| 亚洲高清不卡在线| 亚洲欧洲三级| 中文久久乱码一区二区| 一区二区91| 午夜精品久久| 久久蜜桃资源一区二区老牛| 欧美成人午夜视频| 亚洲一区三区电影在线观看| 欧美一区二区性| 巨乳诱惑日韩免费av| 亚洲高清不卡一区|