蒜頭君打地鼠

2022-05-11 01:10:43 字數 1585 閱讀 3700

蒜頭君打地鼠

蒜頭君最近迷上了打地鼠,但他發現同時出現在面板上的地鼠太多,於是他想改進一下他的錘子,於是他拿出了一款 k \times kk×k 大小的正方形錘子,但是遺憾的是,這個錘子只能斜著砸。如下圖所示:

當 k=2k=2 時,若蒜頭君敲擊黑點,黑點和圖中所有藍色點將一併被敲到。

當 k=3k=3 時,錘子的圖案如下所示:

- - * - -

- * * * -

* * x * *

- * * * -

- - * - -
kk 取其他值時以此類推。

注意:蒜頭君只能敲擊面板上的格仔,但錘子不一定要全部落在面板內。

現在給定乙個 n \times nn×n 的面板,每個格仔可能有地鼠也可能沒有地鼠,請程式設計計算用 k \times kk×k 大小錘子敲擊時最多能打中多少地鼠。

第一行 22 個整數 n,kn,k,表示面板大小和錘子大小。

接下來 nn 行,每行 nn 個整數,若為 11 代表該格仔有地鼠,若為 00 代表該格仔無地鼠。不會出現其他的數字。

輸出乙個整數,代表最多能砸到的地鼠數。

對於 5050% 的測試資料,滿足 1 \le n \le 300,1 \le k \le 101≤n≤300,1≤k≤10;

對於 8080% 的測試資料,滿足 1 \le n \le 2000,1 \le k \le101≤n≤2000,1≤k≤10;

對於 100100% 的測試資料,滿足 1 \le n \le 2000,1 \le k \le 1001≤n≤2000,1≤k≤100。

敲擊第 22 行的 00,可以敲到周圍的 44 個地鼠。

樣例輸入

3 2

0 1 1

1 0 1

0 1 0

樣例輸出

4題解:

暴力水分

#include#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long

lol;

lol n,m,a[

2001][2001

],ans,mmax;

lol gi()

while(i>='

0'&&i<='9')

return ans*f;

}int

main()

}for(i=1;i<=n;i++)

mmax=max(mmax,ans);}}

printf(

"%lld

",mmax);

return0;

}

蒜頭君打地鼠

蒜頭君最近迷上了打地鼠,但他發現同時出現在面板上的地鼠太多,於是他想改進一下他的錘子,於是他拿出了一款 k k 大小的正方形錘子,但是遺憾的是,這個錘子只能斜著砸。如下圖所示 當 k 2 時,若蒜頭君敲擊黑點,黑點和圖中所有藍色點將一併被敲到。當 k 3時,錘子的圖案如下所示 k 取其他值時以此類推...

蒜頭君面試

題目 問題描述 蒜頭君來蒜廠面試的時候,曾經遇到這樣乙個面試題 給定 n 個整數,求裡面出現次數最多的數,如果有多個重複出現的數,求出值最大的乙個。當時可算是給蒜頭君難住了。現在蒜頭君來考考你。輸入格式 第一行輸入乙個整數n 1 n 100000 接下來一行輸入n個 int 範圍內的整數。輸出格式 ...

蒜頭君下棋

蒜頭君下棋 共一行,兩個整數nn和mm 1 leq n m leq 10001 n,m 1000 代表棋盤一共有 nn 行 mm 列。輸出乙個整數,代表棋盤上最多能放的馬的數量。樣例輸入1複製 2 4樣例輸出1複製 4樣例輸入2複製 3 4樣例輸出2複製 6 1 當棋盤只有一行時,棋盤上全放上棋子即...