一天早上,dicer一覺醒來,發現自己來到了minecraft的世界裡面,身為minecraft遊戲愛好者的他欣喜不已,於是他在地下挖了一片長方體的空間作為秘密基地,可是他發現光照亮度小於等於7時,會有恐怖的怪物出現,並且他通過查閱資料發現光源方塊產生光照每一公尺(方格)衰減1光照等級。
此規律在座標軸的3個方向上(東西、南北、上下)均成立。換句話來說,對角線方向的光照衰減依照「曼哈頓距離」(兩個點在座標系上的絕對軸距總和)計算。這意味著,假如地上插著一支火把(光照等級14),則在水平面上與火把相鄰的4個方向的方格上光照等級均為13,而在水平面上與火把對角的4個方格上光照等級均為12(譬如,西北方格的光照等級為14-向西1級-向北1級)。
上述這種衰減特性會在光源周圍產生菱形的照明。該效果會在光源周圍的光源擴散呈鑽石狀。如果被不透明方塊阻擋,光照也可以沿著複雜而彎曲的路徑擴散。
如下圖所示,紅色為光源(亮度等級為14),黑色為秘密物品,其餘各個位置光照強度如圖所示。
秘密基地為n∗m的空間,不考慮高度,初始地面光照強度為0。為了不生成恐怖的怪物,dicer布置了一些光源,但他不知道是否仍會生成怪物,現在請你幫助dicer判斷。
注:光源及秘密物品均為不透明方塊,且其上方均不會生成怪物。
輸入格式
第一行是乙個t。(1≤t≤100)
接下來有t組資料,每一組第一行是n,m,(1≤n,m≤1000),接下來有n行,每行m個字元,代表秘密基地地面放置的方塊,0代表空氣,#代表秘密物品,y代表螢石(光照等級為15),h代表火把(光照等級為14),f代表附魔臺(光照等級為12),r代表啟用的紅石火把(光照等級為7)。
輸出格式
輸出包含t行,每行如果仍會生成怪物,輸出」yes」,否則輸出」no」。
樣例input
22 3
0y000#
3 4r00#
00r0
0r00
output
noyes
input
21 5
0y0r0
2 4y#0r
0000
output
yesno
input
15 4
y0f0
0000
0000
0000
0000
output
no提示
本題資料量過大,建議使用scanf讀入資料
思路:分別對螢石、火把、附魔臺進行搜尋對每乙個點便利,並更新其能走的最遠距離。
不過資料較大,需要進行剪枝,當便利到乙個點並且此時這個點小於之前其能走的最大距離,不再進行,直接continue.最後進行判斷是否會產生怪物。
**:
#include#include#include#include#include#includeusing namespace std;
typedef long long ll;
#define n 1000000+10
int dir[4][2]=;
char mp[1010][1010];
int vis[1010][1010];
ll a[n],sum[n];
int n,m;
struct node
now,net;
queueq;
bool bfs(int x,int y,int z) }
}int main()
} int flag=0;
for(int i=0;i
}if(flag==1)
break;
} if(flag==0)
printf("no\n");
} return 0;
}
怪物的同步
這個和傳統的mmorpy同步策略略有不同 怪物的同步在傳統的端遊裡,是完全由伺服器的怪物ai系統觸發,客戶端只是純粹的接受伺服器下發的怪物狀態資料。對於手機遊戲裡,由於手機上很難出現像pc裡那樣的外掛程式 市場產品競品假定前提 所以怪物的ai可以考慮放在客戶端觸發,同時減少怪物的狀態同步。詳細說明如...
恐怖的大資料
某比薩店的 鈴響了,客服人員拿起 客服 比薩店。您好,請問有什麼需要我為您服務?顧客 你好,我想要乙份 客服 先生,煩請先把您的會員卡號告訴我。顧客 16846146 客服 陳先生,您好!您是住在泉州路一號1205室,您家 是2646,您公司 是4666,您的手機是1391234 請問您想用哪乙個 ...
恐怖的springboot Admin監控
admin主監控 pom.xml de.codecentric spring boot admin starter server 2.1.0 org.springframework.boot spring boot starter web 啟動類新增 開啟所有敏感的信心 瀏覽器訪問http loca...