[過去ログ] プログラミングのお題スレ Part17 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
366
(1): 2020/04/28(火)21:14 ID:5Mrr6wN/(1) AAS
お題:CapsLock on/offを切り替えながら文字入力

[入力]
A B C S

A : Shiftキーを押さずに1文字入力するのにかかる時間
B : Shiftキーを押しながら1文字入力するのにかかる時間(※)
C : CapsLock on/offの切り替えにかかる時間
S : 入力する文字列(英字のみ)

※CapsLock onで小文字入力、CapsLock offで大文字入力にかかる時間をBとする

[出力]
初期状態をCapsLock offとしたとき、Sを入力するのにかかる時間の最小値を求めよ
省10
409: 2020/04/29(水)09:28 ID:7z7Xd+nS(1) AAS
>>366 Ruby
# A <= B とする

def f(a, b, c, arr, cl = false)
  return 0 if arr.empty?
  arr = arr.clone
  cap, size = arr.shift
  return a * size + f(a, b, c, arr, cl) if cap == cl
  [c + a * size + f(a, b, c, arr, !cl), b * size + f(a, b, c, arr, cl)].min
end

g = -> str {str.scan(/[A-Z]+|[a-z]+/).map{|s| [s.match?(/[A-Z]/), s.size]}}
省9
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.757s*