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

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 閱讀(768) 評論(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>
            国产视频在线一区二区| 宅男精品视频| 日韩午夜高潮| 一区二区在线视频| 一区二区日韩免费看| 伊甸园精品99久久久久久| 99精品热视频只有精品10| 91久久精品一区二区别| 久久成人免费日本黄色| 亚洲综合电影| 欧美日韩成人在线播放| 快射av在线播放一区| 国产精品网站在线观看| 99热精品在线观看| 亚洲精品在线免费| 另类综合日韩欧美亚洲| 裸体丰满少妇做受久久99精品 | 亚洲一区二区三区四区五区黄| 亚洲国产欧美在线| 欧美专区一区二区三区| 欧美一区二区啪啪| 国产精品色一区二区三区| 亚洲精品中文字| 一区二区三区久久网| 欧美精品久久久久久久久久| 欧美国产日韩在线| 在线观看亚洲精品视频| 久久久精品国产免大香伊| 久久久久久久91| 极品少妇一区二区| 久久精品欧美日韩精品| 噜噜噜91成人网| 亚洲国产精品毛片| 欧美+亚洲+精品+三区| 欧美xart系列在线观看| 亚洲黄色尤物视频| 欧美激情国产精品| 日韩视频一区二区在线观看| 在线亚洲激情| 国产精品美女www爽爽爽视频| 亚洲少妇一区| 久久精品国产99| 伊人婷婷久久| 欧美成人午夜| 9l国产精品久久久久麻豆| 亚洲欧美韩国| 国产又爽又黄的激情精品视频| 久久久久成人精品免费播放动漫| 免费短视频成人日韩| 亚洲国产视频一区| 欧美日韩精品系列| 亚洲欧美日韩视频一区| 美女国内精品自产拍在线播放| 最近看过的日韩成人| 欧美日韩综合精品| 午夜久久久久久| 免费成人网www| 在线视频亚洲一区| 国产目拍亚洲精品99久久精品 | 久久久人成影片一区二区三区| 欧美国产日韩在线| 亚洲综合欧美| 亚洲国产精品成人va在线观看| 欧美日韩国产免费观看| 亚洲欧美日本日韩| 欧美成人一区二区三区在线观看 | 亚洲最新在线视频| 久久久国产亚洲精品| 亚洲人成网站在线观看播放| 国产精品久久网| 久久艳片www.17c.com| 亚洲日本理论电影| 校园激情久久| 亚洲精品久久久久久久久久久久久 | 欧美日韩一二区| 久久精品在线视频| 日韩视频免费观看| 久久综合色8888| 亚洲欧美影院| 亚洲精品免费在线播放| 国产精品羞羞答答xxdd| 欧美国产日本高清在线| 欧美专区在线播放| 亚洲一区网站| 99在线观看免费视频精品观看| 欧美1区2区视频| 欧美一区二区三区四区高清| 日韩视频免费在线观看| 国内精品久久久久久久影视麻豆| 欧美网站在线观看| 免费美女久久99| 久久久蜜桃一区二区人| 午夜在线a亚洲v天堂网2018| 一区二区三区国产在线| 亚洲第一页自拍| 蘑菇福利视频一区播放| 久久久高清一区二区三区| 亚洲欧美日韩天堂一区二区| 亚洲美女毛片| 亚洲人成毛片在线播放女女| 国模 一区 二区 三区| 国产免费观看久久黄| 国产精品区免费视频| 欧美视频在线一区二区三区| 欧美精品18| 欧美精品一区二区三区在线播放| 久久免费偷拍视频| 久久久999精品视频| 欧美一进一出视频| 午夜日韩在线观看| 香蕉久久夜色精品国产| 亚洲欧美美女| 亚洲一区日本| 午夜精品视频| 欧美亚洲一区二区在线| 欧美影院在线| 久久久人成影片一区二区三区观看 | 亚洲裸体在线观看| 亚洲国产欧美精品| 亚洲精品欧洲精品| 亚洲美女福利视频网站| 亚洲看片免费| 亚洲色图制服丝袜| 亚洲一区三区在线观看| 性做久久久久久免费观看欧美| 性欧美在线看片a免费观看| 欧美在线欧美在线| 久久在线精品| 欧美日韩免费精品| 国产精品色在线| 国内一区二区三区| 136国产福利精品导航网址应用 | 亚洲精品欧洲精品| 一区二区精品| 久久国产主播| 欧美va亚洲va国产综合| 亚洲精品美女久久久久| 一区二区日韩免费看| 欧美一区日本一区韩国一区| 久久伊人一区二区| 欧美日韩精品免费观看| 国产精品日韩电影| 在线精品视频一区二区| 亚洲深夜福利| 久久一综合视频| 日韩一级网站| 久久精品国产一区二区电影| 欧美国产一区二区| 国产欧美另类| 亚洲六月丁香色婷婷综合久久| 欧美亚洲一区三区| 亚洲电影观看| 午夜精品福利在线观看| 毛片基地黄久久久久久天堂| 国产精品v欧美精品v日本精品动漫 | 亚洲激情在线激情| 亚洲欧美另类中文字幕| 欧美成人r级一区二区三区| 日韩亚洲综合在线| 久久国产精品高清| 欧美日韩视频在线一区二区观看视频| 国产亚洲人成网站在线观看| 99香蕉国产精品偷在线观看| 久久久久国产一区二区三区四区| 亚洲国产日韩欧美综合久久| 午夜视频一区在线观看| 欧美大片在线看免费观看| 国产日韩在线看片| 亚洲在线中文字幕| 亚洲国产精品欧美一二99| 欧美在线观看一区二区三区| 国产精品成人播放| 亚洲精品国产精品乱码不99按摩| 久久久久国产免费免费| 中国亚洲黄色| 欧美日本中文| 亚洲激情视频网| 久久理论片午夜琪琪电影网| 一区二区三区波多野结衣在线观看| 另类图片国产| 黄色精品一区| 久久久精品网| 亚洲欧美日韩成人| 欧美性做爰毛片| 一区二区三区四区五区精品视频| 亚洲福利国产| 欧美va亚洲va香蕉在线| 在线观看欧美激情| 久久先锋资源| 久久久精品一品道一区| 国产精品无码专区在线观看| 亚洲欧美日韩天堂| 中文国产成人精品久久一| 欧美日韩高清在线| 在线亚洲观看| 正在播放欧美视频| 国产精品私人影院| 欧美一区二区精品久久911| 亚洲一区二区三区精品动漫| 国产九九精品|