結果
問題 | No.154 市バス |
ユーザー |
![]() |
提出日時 | 2023-03-29 10:47:46 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 238 ms / 2,000 ms |
コード長 | 2,073 bytes |
コンパイル時間 | 221 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,904 KB |
最終ジャッジ日時 | 2024-09-21 04:27:38 |
合計ジャッジ時間 | 2,517 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 8 |
ソースコード
def main():from math import sqrt,sin,cos,tan,ceil,radians,floor,gcd,exp,log,log10,log2,factorial,fsumfrom heapq import heapify, heappop, heappushfrom bisect import bisect_left, bisect_rightfrom copy import deepcopyimport copyimport randomfrom collections import deque,Counter,defaultdictfrom itertools import permutations,combinationsfrom decimal import Decimal,ROUND_HALF_UP#tmp = Decimal(mid).quantize(Decimal('0'), rounding=ROUND_HALF_UP)from functools import lru_cache, reduce#@lru_cache(maxsize=None)from operator import add,sub,mul,xor,and_,or_,itemgetterINF = 10**18mod1 = 10**9+7mod2 = 998244353#DecimalならPython#再帰ならPython!!!!!!!!!!!!!!!!!!!!!!!!!!'''何をチェックすべきかまず、赤と緑の数が一致してるか緑赤の順番できているか'''for _ in range(int(input())):S = list(input())N = len(S)r = 0g = 0w = 0for i in range(N):if S[i] == 'G':g += 1if g > w:breakelif S[i] == 'R':r += 1if r > g:breakelse:w += 1else:fr = 0fg = 0for i in reversed(range(N)):if (fr == 0 or fg == 0) and S[i] == 'W':print('impossible')breakif S[i] == 'R':fr = 1elif S[i] == 'G':fg = 1else:if r != g:print('impossible')else:print('possible')continueprint('impossible')if __name__ == '__main__':main()