結果
| 問題 | No.3526 Anti SKG |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-05-26 01:57:23 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 127 ms / 2,000 ms |
| コード長 | 1,361 bytes |
| 記録 | |
| コンパイル時間 | 407 ms |
| コンパイル使用メモリ | 85,296 KB |
| 実行使用メモリ | 117,740 KB |
| 最終ジャッジ日時 | 2026-05-26 01:57:28 |
| 合計ジャッジ時間 | 4,435 ms |
|
ジャッジサーバーID (参考情報) |
judge2_1 / judge1_1 |
| 純コード判定待ち |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 |
ソースコード
# https://yukicoder.me/problems/no/3526
def main():
T = input()
prev = [[-2, -2, -2] for _ in range(len(T) + 1)]
prev[0][0] = -1
for i in range(len(T)):
t = T[i]
# S
if t in (".", "S"):
if prev[i][0] != -2:
prev[i + 1][1] = ("S", 0)
if prev[i][1] != -2:
prev[i + 1][1] = ("S", 1)
if prev[i][2] != -2:
prev[i + 1][1] = ("S", 2)
# K
if t in (".", "K"):
if prev[i][0] != -2:
prev[i + 1][0] = ("K", 0)
if prev[i][1] != -2:
prev[i + 1][2] = ("K", 1)
if prev[i][2] != -2:
prev[i + 1][0] = ("K", 2)
# G
if t in (".", "G"):
if prev[i][0] != -2:
prev[i + 1][0] = ("G", 0)
if prev[i][1] != -2:
prev[i + 1][0] = ("G", 1)
for j in range(3):
if prev[-1][j] != -2:
j0 = j
ans = []
index = len(T)
while prev[index][j0] != -1:
a, j0 = prev[index][j0]
index -= 1
ans.append(a)
ans.reverse()
print("Yes")
print("".join(ans))
return
print("No")
return
if __name__ == "__main__":
main()