結果
問題 | No.2906 Strange Online Judge |
ユーザー | 👑 Mizar |
提出日時 | 2024-09-12 21:43:04 |
言語 | Text (cat 8.3) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 1,355 bytes |
コンパイル時間 | 74 ms |
コンパイル使用メモリ | 6,684 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-19 17:21:42 |
合計ジャッジ時間 | 2,238 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
6,816 KB |
testcase_01 | AC | 0 ms
6,944 KB |
testcase_02 | AC | 0 ms
6,944 KB |
testcase_03 | AC | 1 ms
6,944 KB |
testcase_04 | AC | 1 ms
6,940 KB |
testcase_05 | AC | 1 ms
6,940 KB |
testcase_06 | AC | 0 ms
6,940 KB |
testcase_07 | AC | 1 ms
6,940 KB |
testcase_08 | AC | 0 ms
6,940 KB |
testcase_09 | AC | 0 ms
6,944 KB |
testcase_10 | AC | 1 ms
6,940 KB |
testcase_11 | AC | 1 ms
6,944 KB |
testcase_12 | AC | 0 ms
6,940 KB |
testcase_13 | AC | 1 ms
6,940 KB |
testcase_14 | AC | 1 ms
6,940 KB |
testcase_15 | AC | 0 ms
6,944 KB |
testcase_16 | AC | 0 ms
6,940 KB |
testcase_17 | AC | 1 ms
6,944 KB |
ソースコード
$0=1 # q = 1 # q: 文字列 P に含まれる"o"の文字数 #$1=0 # p = 0 # p: 文字列 P に含まれる"x"の文字数 #$2=0 # r = 0 # r: 結合済み文字列に含まれる"x"の文字数 #$3=0 # s = 0 # s: 結合済み文字列に含まれる"o"の文字数 #$4=0 # f = 0 # f: 文字列 P の末尾が "o" なら 0, "x" なら 1 while $0<=N # while q <= N: # 十分大きな文字列 P を計算する $5=$0*K # p,q,f := q,q*K+p,1-f $5=$5+$1 $1=$0 $0=$5 $4=1-$4 end # end while $1>1 # while p > 1: # "o" の文字数が N 文字になるまで処理 $5=$0%$1 # p,q,f := q%p,p,1-f # P_{n+1},P_n から P_{n-1} を逆算する $0=$1 $1=$5 $4=1-$4 $5=N-$3 # t := (N-s)//q # 何回繰り返しで文字列を追加できるか $5=$5/$0 $6=$5*$1 # r,s := r+p*t,s+q*t # P の文字列を t 回追加 $2=$2+$6 $6=$5*$0 $3=$3+$6 if $3==N # if s == N: $1=0 # p := 0 end # end end # end if $1==1 # if p == 1: $4=1-$4 # f,r,s = 1-f,r+(q-K)*(N-s),N $5=$0-K $6=N-$3 $5=$5*$6 $2=$2+$5 end # end $0=$2-$4 # return (r-f+N) # 末尾が "x" で終わる場合(f=1) は 1 を引いて取り除く $0=$0+N return $0