p1441打鼴鼠
accepted
標籤:動態規劃
cscii
鼴鼠是一種很喜歡挖洞的動物,但每過一定的時間,它還是喜歡把頭探出到地面上來透透氣的。
根據這個特點阿q編寫了乙個打鼴鼠的遊戲:在乙個n*n的網格中,在某些時刻鼴鼠會在某乙個網格探出頭來透透氣。你可以控制乙個機械人來打鼴鼠,如果i時刻鼴鼠在某個網格中出現,而機械人也處於同一網格的話,那麼這個鼴鼠就會被機械人打死。而機械人每一時刻只能夠移動一格或停留在原地不動。機械人的移動是指從當前所處的網格移向相鄰的網格,即從座標為(i,j)的網格移向(i-1, j),(i+1, j),(i,j-1),(i,j+1)四個網格,機械人不能走出整個n*n的網格。遊戲開始時,你可以自由選定機械人的初始位置。
現在你知道在一段時間內,鼴鼠出現的時間和地點,希望你編寫乙個程式使機械人在這一段時間內打死盡可能多的鼴鼠。
檔案第一行為n(n<=1000), m(m<=10000),其中m表示在這一段時間內出現的鼴鼠的個數,接下來的m行每行有三個資料time,x,y表示有乙隻鼴鼠在遊戲開始後time個時刻,在第x行第y個網格裡出現了乙隻鼴鼠。time按遞增的順序給出。注意同一時刻可能出現多隻鼴鼠,但同一時刻同一地點只可能出現多隻鼴鼠。
輸出檔案中僅包含乙個正整數,表示***鼴鼠的最大數目。
2 21 1 1
2 2 2
1
各個測試點1s
解析:f[i]表示在第 i 個時刻的最大值,則:
for(j=i;j>=1;j--)
if(t[i]-t[j]>=abs(x[i]-x[j])+abs(y[i]-y[j]))
f[i]=max(f[i],f[j]+1);
**:
#include#include#includeusing namespace std;
const int maxn=1e4;
int t[maxn+10],x[maxn+10],y[maxn+10];
int f[maxn+10];
int main()
1441 士兵的數字遊戲
1441 士兵的數字遊戲 基準時間限制 6 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 兩個士兵正在玩乙個遊戲,遊戲開始的時候,第乙個士兵為第二個士兵選乙個正整數n。然後第二個士兵要玩盡可能多的輪數。每一輪要選擇乙個正整數x 1,且n要是x的倍數,然後用n x去代替n。當n變成...
洛谷 1441 砝碼稱重
題目描述 現有n個砝碼,重量分別為a1,a2,a3,an,在去掉m個砝碼後,問最多能稱量出多少不同的重量 不包括0 請注意,砝碼只能放在其中一邊。輸入格式 輸入檔案weight.in的第1行為有兩個整數n和m,用空格分隔 第2行有n個正整數a1,a2,a3,an,表示每個砝碼的重量。輸出格式 輸出檔...
砝碼稱重 洛谷 1441
題目 現有n個砝碼,重量分別為a1,a2,a3,an,在去掉m個砝碼後,問最多能稱量出多少不同的重量 不包括0 輸入格式 輸入檔案weight.in的第1行為有兩個整數n和m,用空格分隔 第2行有n個正整數a1,a2,a3,an,表示每個砝碼的重量。輸出格式 輸出檔案weight.out僅包括1個整...