題目鏈結
我們從某一點出發,把這一點當做1,之後開始dfs,他能到達的點(馬子走)都設為-1,再從能到達的點再遍歷,設為1。
這樣能把這些點分為1和-1.這是相互衝突的。這樣之後我們還會可能有一些點沒有被遍歷到,我們再找那些等於0,也就是沒有被遍歷到的,再重複過程。
最後我們統計1的個數還有-1的個數,取最大值即可。
#include#include#includeusing namespace std;
int a[1010][1010];
int dx=;
int dy=;
int n,m;
void dfs(int x,int y)
} }int sum=0;
for(int i=0;i} }
cout<}
蒜頭君下棋
蒜頭君下棋 共一行,兩個整數nn和mm 1 leq n m leq 10001 n,m 1000 代表棋盤一共有 nn 行 mm 列。輸出乙個整數,代表棋盤上最多能放的馬的數量。樣例輸入1複製 2 4樣例輸出1複製 4樣例輸入2複製 3 4樣例輸出2複製 6 1 當棋盤只有一行時,棋盤上全放上棋子即...
2018 藍橋杯省賽 A 組模擬賽 蒜頭君下棋
題意 乙個n m的棋盤上讓你放馬,馬和馬之間不能攻擊。問能放多少匹馬。題解 最開始是以為是一道搜尋題。然後一看資料範圍。瞬間懵逼。發現這道題,是個規律題。而且規律錯綜複雜。死活沒有思路。然後我們隊裡的dalao告訴我。你看一眼西洋棋的棋盤你就能明白這道題了。然後我就看了一下棋盤,發現如下規律 當 n...
蒜頭君面試
題目 問題描述 蒜頭君來蒜廠面試的時候,曾經遇到這樣乙個面試題 給定 n 個整數,求裡面出現次數最多的數,如果有多個重複出現的數,求出值最大的乙個。當時可算是給蒜頭君難住了。現在蒜頭君來考考你。輸入格式 第一行輸入乙個整數n 1 n 100000 接下來一行輸入n個 int 範圍內的整數。輸出格式 ...