輸入的第一行包含三個整數n, l, t,用空格分隔,分別表示小球的個數、線段長度和你需要計算t秒之後小球的位置。第二行包含n個整數a1, a2, …, an,用空格分隔,表示初始時刻n個小球的位置。
輸出一行包含n個整數,用空格分隔,第i個整數代表初始時刻位於ai的小球,在t秒之後的位置。樣例輸入
3 10 5
4 6 8
樣例輸出
7 9 9
樣例說明
初始時,三個小球的位置分別為4, 6, 8。
def
main
(n, l, t, init_loc)
:"""
args:
n: 小球數量
l: 軌道長度
t: 時間
init_loc: 每個小球的初始位置,list
return:
每個小球最終的位置, list
"""v_loc =
for i in
range
(n):
v_loc[i]=[
1, init_loc[i]
]for j in
range
(t):
for key in
range
(n):
direction_last = v_loc[key][0
] loc_last = v_loc[key][1
] loc = loc_last + direction_last *
1if loc == l:
direction =-1
elif loc ==0:
direction =
1else
: direction = direction_last
v_loc[key]
=[direction, loc]
for i in
range
(n):
for j in
range
(i,n)
:if v_loc[i][1
]== v_loc[j][1
]:v_loc[i][0
]*=-1
v_loc[j][0
]*=-1
return
list
(map
(lambda x: x[1]
,v_loc.values())
)import time
n,l,t =
map(
int,
input()
.split())
init_loc =
[none]*n
init_loc[0]
,init_loc[1]
,init_loc[2]
=map
(int
,input()
.split())
start = time.time(
)print
(main(n, l, t,init_loc)
)end = time.time(
)print
(end-start)
ccf碰撞的小球python
輸入格式 輸入的第一行包含三個整數n,l,t,用空格分隔,分別表示小球的個數 線段長度和你需要計算t秒之後小球的位置。第二行包含n個整數a1,a2,an,用空格分隔,表示初始時刻n個小球的位置。輸出格式 輸出一行包含n個整數,用空格分隔,第i個整數代表初始時刻位於ai的小球,在t秒之後的位置。樣例輸...
CCF 碰撞的小球
201803 2 碰撞的小球 時間限制 1.0s 記憶體限制 256.0mb 問題描述 因為所有小球的初始位置都為偶數,而且線段的長度為偶數,可以證明,不會有三個小球同時相撞,小球到達線段端點以及小球之間的碰撞時刻均為整數。同時也可以證明兩個小球發生碰撞的位置一定是整數 但不一定是偶數 輸入格式 輸...
CCF 20180302小球碰撞
include using namespace std 1.首先進行排序 結構體陣列的排序 2.結果的輸出 不是根據change i id 的1 n的輸出,而是根據其下邊的1 n來輸出 struct nodechange 102 int main 結構體陣列排序 for int i 1 ifor i...