結果
| 問題 | No.833 かっこいい電車 |
| コンテスト | |
| ユーザー |
gojoTY
|
| 提出日時 | 2019-05-29 16:10:39 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 2,706 bytes |
| 記録 | |
| コンパイル時間 | 85 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 52,052 KB |
| 最終ジャッジ日時 | 2024-07-02 03:55:02 |
| 合計ジャッジ時間 | 6,750 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 2 |
| other | TLE * 1 -- * 29 |
ソースコード
def query_shift(query_list, N_list):
if query_list[0]==1:
return query_1(query_list[1], N_list)
elif query_list[0]==2:
return query_2(query_list[1], N_list)
elif query_list[0]==3:
query_3(query_list[1])
else:
query_4(query_list[1], N_list)
return N_list
def query_1(N_num, N_list):
if N_num in N_list:
if N_num+1 in N_list:
dup_N_list = N_list[:N_list.index(N_num)]
dup_N_list.append([N_num, N_num+1])
if N_num+2 in N_list:
dup_N_list.extend(N_list[N_list.index(N_num+2):])
N_list = dup_N_list[0:]
else:
N_list[N_list.index(N_num)+1].insert(0, N_num)
N_list.pop(N_list.index(N_num))
else:
for i in range(len(N_list)):
if type(N_list[i])==list:
if N_num in N_list[i]:
if N_num+1 in N_list:
N_list[i].append(N_num+1)
N_list.pop(i+1)
break
elif N_num+1 in N_list[i]:
break
elif type(N_list[i+1])==list and N_num+1 in N_list[i+1]:
N_list[i].extend(N_list[i+1])
N_list.pop(i+1)
break
return N_list
def query_2(N_num, N_list):
if N_num in N_list:
pass
else:
for i in range(len(N_list)):
if type(N_list[i])==list:
if N_num in N_list[i] and N_num in N_list[i]:
copy_list = N_list[i][0:]
N_list.pop(i)
N_list.insert(i, copy_list[copy_list.index(N_num)+1:])
N_list.insert(i, copy_list[:copy_list.index(N_num)+1])
for x in N_list:
if type(x)==list:
idx = N_list.index(x)
if len(x)==1:
N_list.pop(idx)
N_list.insert(idx, x[0])
return N_list
def query_3(N_num):
N_dict[N_num]+=1
def query_4(N_num, N_list):
ans = 0
if N_num in N_list:
print(N_dict[N_num])
else:
for i in range(len(N_list)):
if type(N_list[i])==list:
if N_num in N_list[i]:
for ii in N_list[i]:
ans+=N_dict[ii]
print(ans)
N, Q = map(int, input().split())
ans_list = list(range(1,N+1))
N_cool_list = list(map(int, input().split()))
tapple_list = []
for i in range(N):
tapple_list.append((ans_list[i], N_cool_list[i]))
N_dict = dict(tapple_list)
query_list = []
for i in range(Q):
query_list.append(list(map(int, input().split())))
for x in query_list:
ans_list = query_shift(x, ans_list)
gojoTY