時限:1000ms 記憶體限制:10000k 總時限:3000ms
描述城堡是乙個4×4的方格,為了保衛城堡,現需要在某些格仔裡修建一些堡壘。城堡中的某些格仔是牆,其餘格仔都是空格,堡壘只能建在空格裡,每個堡壘都可以向上下左右四個方向射擊,如果兩個堡壘在同一行或同一列,且中間沒有牆相隔,則兩個堡壘都會把對方打掉。問對於給定的一種狀態,最多能夠修建幾個堡壘。
輸入每個測例以乙個整數n(1<=n<=4)開始,表示城堡的大小。接下來是n行字元每行n個,『x』表示該位置是牆,『.』表示該位置是空格。n等於0標誌輸入結束。
輸出每個測例在單獨的一行輸出乙個整數:最多修建堡壘的個數。
輸入樣例
4.x..
....
xx..
....2xx
.x3.x.x.x
.x.3
....xx
.xx4
....
....
....
....
0輸出樣例51
524提示
借鑑:**
#include using namespace std;
int n,ans;
int a[4][4];
int canplace(int m)//因為是逐行搜尋,所以只要判斷在當前位置上方和左方即可。
else if(a[row][i]==1) break; //兩個都成立,就可以return 1了。
else if(a[row][i]==0) continue;
}for(i=row;i>=0;i--) //從下到上搜
if(a[i][col] == 1) break;
else if(a[i][col]==0) continue;
}return 1; //兩個都成立,就可以return 1了。
}void checkmax()
search(m+1);
}}int main()
}search(0); //每個點都搜吧,從當前這個點開始,就列舉了不同的開始順序
cout<}
return 0;
}
mysql二維轉一維 二維陣列轉為一維陣列
1.很多時候會遇到二維陣列,轉為一維陣列的時候會很苦惱,尤其是剛剛接觸php的phper。如下 將 arr轉化為一維陣列 arr array array uuid aaaaa array uuid bbbbb array uuid ccccc array uuid sssss array uuid ...
一維陣列轉二維陣列
假設你一維陣列的大小為100 你需要把它拆分為20 5的乙個二維矩陣。不妨這樣去實現 假設一維陣列的下標為x,可以把它在邏輯上轉換為二維陣列的下標 m x 5 n x 5 比如你要找第一行第二列的元素,那在一維陣列中就是a 1 轉化為二維座標就是b 0 1 其實多維陣列和一維陣列一樣,在計算機中都是...
一維陣列轉二維陣列
在專案上,會遇到將乙個一維陣列的資料,按板塊的分布排版這一類的需求。這種需求的資料往往就是陣列元素中含有相同字段,以這相同字段分類即可達到需求。以以下資料為例 將let oldarr 轉換為 let newarr 即將乙個一維陣列轉為二維陣列 不難發現,部分陣列元素字段存在相同的值,我們以type來...