結果
| 問題 |
No.111 あばばばば
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-10-10 19:49:15 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,029 bytes |
| コンパイル時間 | 201 ms |
| コンパイル使用メモリ | 12,416 KB |
| 実行使用メモリ | 15,744 KB |
| 最終ジャッジ日時 | 2024-07-21 06:15:48 |
| 合計ジャッジ時間 | 6,974 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 3 TLE * 1 -- * 6 |
ソースコード
#coding=UTF-8
#同じ文字を何回使ってもいい
#並びは変えない
#L<10**9とは大きい Lは奇数というのが気になる
#Lは奇数のおかげで処理が楽
#回文についてはaとbが交互に来るのが重要か
#偶数文字の回文は真ん中の文字が連続するからな
#XYX,XYXYX,XYXYXYX X,Yはa,bがそれぞれ1つ入る
#あとはこんな方針でやってみるか
L=int(input())
reps=(L-1)//2
ans=0
for idx in range(1,reps+1,1):#Sそれ自体が最長だな
for idy in range(0,2,1):
#開始点をずらしていけばいい
if idy%2==0:
#ababa aから始まるやつ
ans=ans+(reps-idx+1)#[0,idx*2],[2,idx*2+2],...,[(reps-idx)*2,reps*2]
else:
#babab bから始まるやつ bで終わる
#[1,idx*2+1],[3,idx*2+3],...,[(reps-idx)*2-1,reps*2-1]
# i.e.[(reps-idx-1)*2+1,reps*2-1]
ans=ans+reps-idx-1+1#最後通るとき0になっていて良さある
print(ans)