結果
| 問題 |
No.805 UMG
|
| コンテスト | |
| ユーザー |
_KingdomOfMoray
|
| 提出日時 | 2019-12-30 15:56:15 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 955 ms / 2,000 ms |
| コード長 | 1,075 bytes |
| コンパイル時間 | 150 ms |
| コンパイル使用メモリ | 82,136 KB |
| 実行使用メモリ | 76,032 KB |
| 最終ジャッジ日時 | 2024-11-18 13:56:44 |
| 合計ジャッジ時間 | 6,586 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 |
ソースコード
def min(a, b):
return a if a <= b else b
n = int(input())
s = input()
s_list = list(s)
num_M = s_list.count('M')
checked_M = 0
count = 0
while checked_M != num_M:
M_index = s_list.index('M')
distance = min(M_index - 0, (n - 1) - M_index)
ss_list = s_list[M_index - distance : M_index + distance + 1]
# print('ss_list before: {}'.format(ss_list))
num_U = ss_list.count('U')
M_index_ss = ss_list.index('M')
for i in range(num_U):
U_index = ss_list.index('U')
if U_index > M_index_ss:
break
else:
ss_list[U_index] = 'x'
distance_ss = M_index_ss - U_index
# print('M_index_ss: {}'.format(M_index_ss))
# print('U_index: {}'.format(U_index))
# print('distance_ss: {}'.format(distance_ss))
if ss_list[M_index_ss + distance_ss] == 'G':
count += 1
# print('ss_list after: {}'.format(ss_list))
# print('count: {}'.format(count))
# after founding 'umg'
s_list[M_index] = 'x'
checked_M += 1
print(count)
_KingdomOfMoray