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