問題1:
"""說明:這裡最主要的還是在方位上某次戰役中,為便於資訊互動,我軍偵察部門將此次戰役的關鍵高地座標設定為(x=0,y=0)並規定,
每向東增加100公尺,x加1,每向北增加100公尺,y加1。同時,我軍情報部門也破譯了敵軍向坦克傳送的指揮訊號,
其中有三種訊號(l,r,m)用於控制坦克的運動,l 和 r 分別表示使令坦克向左、向右轉向,
m 表示令坦克直線開進100公尺,其它訊號如 t 用於時間同步,p 用於位置較準。
一日,我軍偵察兵發現了敵軍的一輛坦克,偵察兵立即將坦克所在座標(p, q)及
坦克前進方向(w:西,e:東,n:北,s:南)傳送給指揮部,同時啟動訊號接收器,
將坦克接收到的訊號實時同步發往指揮部,指揮部根據這些資訊得以實時掌控了該坦克的位置,
並使用榴彈炮精準地擊毀了該坦克。
請設計合理的資料結構和演算法,根據坦克接收到的訊號,推斷出坦克所在的位置。設計時請考
慮可能的擴充套件情況,並體現出您的設計風格。編碼時請注重**規範,並編寫足夠的單元測試。
假設,坦克座標為(11,39)執行方向為 w,當收到以下訊號「mtmprpmtmlmrprmtplmmtlmrrmp」 後,
其位置應該為(9,43),執行方向為 e
"""
**
a = int(input('view code當前坦克位置橫座標:
').strip())
b = int(input('
當前坦克縱座標:
').strip())
c = input('
當前方向:
').strip()
l1 = ['
w','
s','
e','n'
]def
locations(x,y,location):
message = input('
接收到的訊號:
').strip()
for i in
message:
if i == 'r'
: index = l1.index(location)-1
if index == -1:
index = 3location =l1[index]
continue
if i == 'l'
: index = l1.index(location)+1
if index == 4:
index =0
location =l1[index]
continue
if i =='p'
or i =='t'
:
continue
if location =='w'
: x-=1
elif location =='s'
: y-=1
elif location =='e'
: x+=1
elif location =='n'
: y+=1
print('
當前坦克位置座標:{},{}),當前方向{}
'.format(x,y,location))
locations(a,b,c)
問題2:
"""有如下一組連續高度不一寬度是1的牆壁,可使用陣列[1,3,4,3,28,10,9,19,22,3,34,55,43,21]表示,當
下雨時,雨水會填滿之間的空間,請使用python求出被水填滿區域面積的相關邏輯
演算法 蓄水問題
問題 給定乙個陣列,想象成乙個桶。問最多能裝多少水?例 1,5,3,6 最多裝2格水 oo o o o o o o o o o o o o o 解題思路 我們把每一列當成一塊板,根據分析,第一塊板和最後一塊板一定不能蓄水,所以問題變成了所有板所能蓄水最大值的總和。先明確這個思路,之後再想辦法。那麼如...
蓄水池問題
蓄水池問題描述 假設有n個數,從中隨機抽取k個數字,如果保證抽取的過程是等概率的?其中n是不固定的 類似問題 1.從100個數字抽取20個,如果向100個數字中再增加20個呢?2.給你乙個長度為n的鍊錶,n很大,但你不知道n有多大,你的任務是從這n個元素中取出k個元素,你只能遍歷一次這個鍊錶,演算法...
水 water 積水問題 蓄水問題
題目描述 有一塊矩形土地被劃分成 n m 個正方形小塊。這些小塊高低不平,每一小塊都有自己的高度。水流可以由任意一塊地流向周圍四個方向的四塊地中,但是不能直接流入對角相連的小塊中。一場大雨後,由於地勢高低不同,許多地方都積存了不少降水。假如你已經知道這塊土地的詳細資訊,你能求出每個小塊的積水高度嗎?...