牛客網 貪心 掃瞄透鏡

2021-08-04 04:28:10 字數 1331 閱讀 2296

在n*m的草地上,提莫種了k個蘑菇,蘑菇**的威力極大,蘭博不想貿然去闖,而且蘑菇是**的.只 有一種叫做掃瞄透鏡的物品可以掃瞄出**的蘑菇,於是他回了一趟戰爭學院,買了2個掃瞄透鏡,乙個 掃瞄透鏡可以掃瞄出(3*3)方格中所有的蘑菇,然後蘭博就可以清理掉一些**的蘑菇. 問:蘭博最多可以清理多少個蘑菇?

注意:每個方格被掃瞄一次只能清除掉乙個蘑菇。

輸入描述:

第一行三個整數:n,m,k,(1≤n,m≤20,k≤100),n,m代表了草地的大小;

接下來k行,每行兩個整數x,y(1≤x≤n,1≤y≤m).代表(x,y)處提莫種了乙個蘑菇.

乙個方格可以種無窮個蘑菇.

輸出描述:

輸出一行,在這一行輸出乙個整數,代表蘭博最多可以清理多少個蘑菇.

#include 

#include

#include

#include

int main();

int fy=;

while(scanf("%d

%d%d",&n,&m,&k)!=eof)

// for(int i=1;i<=n;++i)

//

// printf("\n");

// }

int px,py,cx=1,cy=1,s=0,total=0;

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

for(int j=1;j<=m;++j)

if(n[x][y]>0)

sum++;

if(sum>s)

}for(int l=0;l<8;++l)

}if(n[cx][cy]>0)

total+=s;

//printf("%d

%d\n",cx,cy);

////

//for(int i=1;i<=n;++i)

//

// printf("\n");

// }

s=0;

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

for(int j=1;j<=m;++j)

if(n[x][y]>0)

sum++;

if(sum>s)

}total+=s;

//printf("%d

%d\n",cx,cy);

printf("%d\n",total);

}return

0;}

掃瞄透鏡 貪心 動歸

題目描述 在n m的草地上,提莫種了k個蘑菇,蘑菇 的威力極大,蘭博不想貿然去闖,而且蘑菇是 的.只 有一種叫做掃瞄透鏡的物品可以掃瞄出 的蘑菇,於是他回了一趟戰爭學院,買了2個掃瞄透鏡,乙個 掃瞄透鏡可以掃瞄出 3 3 方格中所有的蘑菇,然後蘭博就可以清理掉一些 的蘑菇.問 蘭博最多可以清理多少個...

牛客網 貪心 裁減網格紙

度度熊有一張網格紙,但是紙上有一些點過的點,每個點都在網格點上,若把網格看成乙個座標軸平行於網格線的座標系的話,每個點可以用一對整數x,y來表示。度度熊必須沿著網格線畫乙個正方形,使所有點在正方形的內部或者邊界。然後把這個正方形剪下來。問剪掉正方形的最小面積是多少。輸入描述 第一行乙個數n 2 n ...

牛客網 石頭剪刀布 分治 貪心

題目大意 思路 當時拿到題就覺得是一道分治題,列舉最後的勝利者。這樣就可以得到左右區間的勝利者。一直遞迴下去。就行,當時卡在字典序這。不知道怎麼才能最優。準備遞迴列舉。當時無法回溯。後來看了別人的 發現並不用回溯,因為每次要麼勝利者來自左區間,要麼右區間,而只要確定了勝利者,這個區間的所有選手就確定...