在潘多拉星球,納威人也熱衷于搞房地產(chǎn)賣(mài)給中國(guó)人。他們把空中的懸浮山切割成一個(gè)個(gè)的立方體,然后在上面蓋房子。一個(gè)立方體就是一個(gè)公寓樓。在懸浮山的表面上,重力是朝向山體中心的,因此每個(gè)面都有能住人的房間。作為到處投資的中國(guó)IT新貴,你看上了一座懸浮公寓,想知道這個(gè)公寓里面有多少個(gè)房間,以及最大的房間有多大。自己寫(xiě)個(gè)程序解決這個(gè)問(wèn)題吧。
立方體的每個(gè)面被劃分為k*k(k<20)個(gè)方格,方格有可能是平地,也有可能墻,墻無(wú)法通過(guò)。連續(xù)的平地可以形成房間。房間可以跨越棱線。

平地用0表示,墻用1表示。
輸入第一行為測(cè)試數(shù)據(jù)組數(shù)。 對(duì)每組測(cè)試數(shù)據(jù): 輸入第一行為k,接下來(lái)為6*k行,每行k個(gè)字符(空格分開(kāi),平地用0表示,墻用1表示),分別表示ABDC,BFHD,F(xiàn)EGH,EACG,EFBA,GHDC這6個(gè)平面。 每個(gè)平面第一個(gè)字母是左上角,第二個(gè)字母是右上角。
輸出房間個(gè)數(shù)和最大的房間大小(包含的平地格子數(shù)目)
1 3 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0
6 12
遍歷每個(gè)未訪問(wèn)的點(diǎn)查找最大房間,具體實(shí)現(xiàn)分析可看此文章: http://blog.csdn.net/pku_zzy/article/details/51648457 在代碼中多加了點(diǎn)日志。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注