縱橫字謎的答案

2021-08-22 19:36:16 字數 1562 閱讀 7934

輸入乙個r行c列(1<=r,c<=10)的網格,黑格用」*」表示,每個白格都填有乙個字母,如果乙個白格的左邊相鄰的位置或者邊上相鄰的位置沒有白格(可能是黑格,也可能除了網格邊界), 則稱這個白格是乙個起始格。首先把所有起始格按照從上到下,從左到右的順序編號為1,2,3……,如圖。接下來要輸出所由橫向單詞,這些單詞必須從乙個起始格開始,向右延伸到乙個黑格的左邊,或者整個網格的最右列。最後找出所有豎向單詞。這些單詞必須從乙個起始格開始,向下延伸到乙個黑格的上邊或者整個網格的最下行。

//為所有起始格編號,共需考慮四種情況}}

for(int i=0;ifor(int j=0;jif(((j==0&&a[i][j]!='*')||(j>0&&a[i][j-1]=='*'))&&a[i][j]!='*')

//輸出所有橫向單詞}}

printf("down\n");

for(int i=0;ifor(int j=0;jif(((i==0&&a[i][j]!='*')||(i>0&&a[i-1][j]=='*'))&&a[i][j]!='*')

輸出所有縱向單詞

} return

0;}

UVa 232 縱橫字謎的答案

這一題的話,輸出的時候,我們要按照3位輸出,不能按照兩位,因為是10 10的網格,所以就是100位,不管有沒有100的起始格,它都是按照3位進行輸出的,從題上的輸出可以看到,不然的話,就會pe。然後我們對於它的起始網格的處理,我們可以設定乙個對應的網格,然後判斷填數就可以了,然後我們判斷的時候肯定要...

P58 3 6縱橫字謎的答案

題意 輸入乙個r行c列的網格,黑格用 號表示,每個白格都填有乙個字母。如果乙個白格的左邊相鄰位置或者上邊相鄰位置沒有白格 可能是黑格,也可能出了網格邊界 則稱這個白格是乙個起始格。首先把所有起始格從左到右 從上到下順序編號1,2,3,要求找出所有橫向單詞。這些單詞必須從乙個起始格開始,向右延伸到乙個...

UVA232 縱橫字謎的答案

題目 分析 在輸入的同時用序號對起始格標記,然後按照輸出要求輸出即可。注意 1.行和列的單詞要按照序號從小到大輸出。2.每行的單詞首字母左邊不能有白格,每列的單詞首字母上邊不能有白格。3.本題最後乙個樣例末尾沒有空行。4.輸入的時候每一行最後可能有換行。1 include 2 include 3in...