放置機械人

2021-09-05 08:07:43 字數 1518 閱讀 3275

羅伯特是一位著名的工程師 有一天,老闆給了他一項任務。該任務的背景如下:

給定乙個由方塊組成的地圖。有三種塊:wall,grass和empty。他的老闆想在地圖上放置盡可能多的機械人。每個機械人都持有乙個雷射**,可同時向四個方向(北,東,南,西)射擊。機械人不得不一直呆在最初放置的地方,並一直**。雷射束當然可以通過grass的網格,但無法通過wall網格。機械人只能放在空塊中。當然老闆不希望看到乙個機械人傷害另乙個機械人。換句話說,兩個機械人不得放在一條線上(水平或垂直),除非它們之間有牆。

既然你是乙個聰明的程式設計師和羅伯特最好的朋友之一,他就會請你幫他解決這個問題。也就是說,給定地圖的描述,計算可以放置在地圖中的最大機器人數。

輸入第一行包含乙個整數t(<= 11),它是測試用例的數量。

對於每個測試用例,第一行包含兩個整數m和n(1 <= m,n <= 50),它們是對映的行和列大小。然後是m行,每行包含n個字元』#』,』*『或』o』,分別代表wall,grass和empty。

輸出對於每個測試用例,首先輸出一行中的案例編號,格式為:「case:id」,其中id是測試用例編號,從1開始計數。在第二行只輸出可以是的最大機器人數放在那張地圖上。

樣本輸入

24 4

o ***

oo#o

*** o

4 4#ooo

o#oo

oo#o

***#

樣本輸出

案例:1

3案例:2

5解析:構圖比較麻煩,將行有空地且能互相攻擊的放入a陣列,將列的放入b陣列,其他還好,有些細節要注意

#include #include#include#include using namespace std;

vector f[2505];

char mapa[55][55];

int n,m,t,x=1,y=1,cs,a[55][55],b[55][55],link[2505],z;

bool color[2505];

bool find (int i)

if (mapa[i][j]=='o')

if (mapa[i][j]=='#'&&p==1)

}p=0;

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

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

if (mapa[j][i]=='o')

if (mapa[j][i]=='#'&&p==1)

}return;

} void lb ()

memset(link,0,sizeof(link));

memset(a,0,sizeof(a));

memset(b,0,sizeof(b));

cin>>n>>m;

x=1;y=1;

jm();

lb();

int ans=0;

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

cout<<"case :q"

}

ZOJ1654 放置機械人

時間限制 1 sec 記憶體限制 256 mb robert是一位著名的工程師。一天他的老闆給了他乙個任務。任務的背景如下 給出一張由方塊組成的地圖。方塊有許多種 牆,草,和空地。老闆想讓robert在地圖上放置盡可能多的機械人。每個機械人拿著一把雷射槍,它可以同時向東西南北四個方向射擊。機械人必須...

好色機械人的豔遇 機械人豔遇 《機械人的旅行》

講述機械人 路遇開房車的 剛剛開始的時候畫風很舒服,直到到了晚上上了她的床之後。畫風速變了!這個女主角聲音超好聽。整個情節實在太流氓了,太猥瑣了!連六六君這樣的老司機都看不下去了!正片在三分五十,不謝 很抱歉,此內容已經失效了!就連六六君也無法恢復了。請欣賞其他有效的內容 當您看到這條資訊的時候,很...

2017 04 19 特種機械人 獵豹機械人介紹

仿生機械人 獵豹機械人 說起機械人,可能由於受名詞中 人 字的影響,大部分人腦海裡出現的可能要麼是憨態可掬 動作靈活的小nao機械人,要麼是彬彬有禮 動作規範的asimo機械人,亦或是電影 人工智慧 裡有著和人一模一樣的外表的大衛。其實,這些機械人都屬於仿人機械人,這些機械人是模仿人的形態和行為而被...