結果
| 問題 |
No.3234 Infinite Propagation
|
| コンテスト | |
| ユーザー |
Mogobon
|
| 提出日時 | 2025-08-15 23:30:00 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 165 ms / 2,000 ms |
| コード長 | 1,239 bytes |
| コンパイル時間 | 336 ms |
| コンパイル使用メモリ | 82,888 KB |
| 実行使用メモリ | 88,532 KB |
| 最終ジャッジ日時 | 2025-08-15 23:30:04 |
| 合計ジャッジ時間 | 2,963 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 18 |
ソースコード
def solve(turn):
n = int(input())
X,Y=[],[]
found = True
for _ in range(n):
x,y=input().split()
X.append(x)
Y.append(y)
xa = False # xにaがある
from_a_maxlenbb = 0
for i in range(n):
if X[i]=="a":
xa = True
for c in Y[i]:
if c == "a":
print('Yes')
return
else:
# x[i]がaの時、bbbbb...bbbb
from_a_maxlenbb = max(from_a_maxlenbb, len(Y[i]))
if not xa:
print('No') # x[i]=aがない
return
xbb_minlen = 10**10
for i in range(n):
# a->..a..はok
# a->b..bを考える
# x[i]=bb.bbの必要性がある
# x[i]=b..bがa->b..bのb連続列の長さ以下である必要がある
for c in X[i]:
if c=="a":
break
else:
#全てb
xbb_minlen=min(xbb_minlen,len(X[i]))
# x[i]=aでY[i]=bb.bb >= x[i]==bb..bb
if from_a_maxlenbb >= xbb_minlen:
print('Yes')
else:
print('No')
pass
t = int(input())
for i in range(t):
solve(i)
Mogobon