2個小時,30道單選,2道程式設計
給定一些道具及其**和魅力值,在總**不超過某個上限的情況下使得購買的道具的魅力值最大。多重揹包問題,逆向列舉。
import sys
while
true
: ans =
line = sys.stdin.readline(
).strip()if
''== line:
break
nums =
price =
value =
n, p =
list
(map
(int
, line.split())
)for i in
range
(n):
nu, pr, v =
list
(map
(int
, sys.stdin.readline(
).strip(
).split())
) dp =[0
]*(p+1
)for i, pr in
enumerate
(price)
:for w in
range
(p, pr-1,
-1):
for k in
range
(min
(nums[i]
, w//pr)+1
):dp[w]
=max
(dp[w]
, dp[w-k*pr]
+k*value[i]
)print
(dp[p]
)
給定乙個n行m列的二維矩陣作為地圖,』.』 表示可以通行,『#』表示不能通行,『s』為起點,『e』為終點,從起點開始,每次只能向上或向左或向下或向右移動乙個,如果下乙個位置為『#』則不能移動到該位置,不允許走出地圖,為能否到大終點。dfs
import sys
move =[(
0,1)
,(1,
0),(
0,-1
),(-
1,0)
]def
canget
(start_i, start_j)
: visit[start_i]
[start_j]
=true
if mymap[start_i]
[start_j]
=='e'
:return
true
for mo in move:
next_i = start_i + mo[0]
next_j = start_j + mo[1]
if0<=next_i0<=next_j[next_j]
!='#'
and \
not visit[next_i]
[next_j]
:if canget(next_i, next_j)
:return
true
return
false
while
true
: ans =
line = sys.stdin.readline(
).strip()if
''== line:
break
t =int(line)
for _ in
range
(t):
n, m =
list
(map
(int
, sys.stdin.readline(
).strip(
).split())
) visit =[[
false
]* m for _ in
range
(n)]
start_i =
0 start_j =
0 mymap =
for i in
range
(n):
) line = sys.stdin.readline(
).strip(
)for j, c in
enumerate
(line):if
's'== c:
start_i = i
start_j = j
mymap[i]
print
('yes'
if canget(start_i, start_j)
else
'no'
)
京東軟體開發筆試記錄
1,求出最長公共子串行,並判斷是否可以進行火星。記不清了 include include using namespace std int main for int i 0 i n i for int i 0 i n i for int i 1 i n i int max length dp n n ...
京東筆試題
剛才看到一篇京東筆試題,又見無聊題,俗稱智力題,下面我們就看看。1.說一架飛機可以飛50公尺,但是現在需要其飛100公尺,飛機之間可以互相加油。問是要飛完一共需要派出幾架飛機 首先飛機快飛到25公尺處時派出一架飛機從起點起飛,同時到達25公尺處,加完油後可以可以飛到75公尺,快到75公尺時從終點派出...
京東筆試總結
集中式匯流排 集中式序列鏈結,查詢所有部件都用一條 匯流排請求 線 集中式定時查詢,所有部件共用一條 匯流排忙 線 集中式定時查詢,所有部件都用一條 匯流排請求 線 乙個gfs集群由乙個master和大量chunkserver構成 浮點數尾數基值rm 8,尾數長度為6,則可表示規格化正尾數的個數為多...