ACM-ICPC 2016 Asia Tsukuba Regional 国内予選, B 解答

B: 当選者を探せ!

問題

選挙の開票を行う。26人の候補者があり、票の総数はnで、1票づつ開けていく。
単独首位で当選確実になった候補者が初めて決まるのは何票目で誰か、出力せよ。
ただし開票して首位が2人以上いるならば"TIE"と出力せよ。

続きを読む

ACM-ICPC World Finals 2016 M解法

M: What Really Happened on Mars?

問題

t個のタスクがある。各タスクは命令の列で、命令は3種類

  1. compute : 1クロック消費する。
  2. lock k : リソースkをロックする
  3. unlock k : リソースkをアンロックする

各タスクiは開始の時刻t_iと優先度p_iを持ち、時刻になると先頭の命令から順に実行可能になる。
実行中のタスクから最も優先度の高いタスクを選んでそれを実行することに成る。

続きを読む

ACM-ICPC World Finals 2016 L解法

L: Swap Space

問題

n個のHDDがある。
それぞれは現在 容量a_iで、一つづつ取り替えて容量b_iにしたい。
HDDは全てフルに容量が埋まっており、取り替えるときはデータをn個の中の他のHDD、もしくは追加のHDDに移して、空になってからb_iになる。複数に分けて移しても良い。
最終的にデータを元のHDDに入れる必要はなく、追加のHDDに残しても良い。
追加のHDDは最小でいくらの容量が必要か。

続きを読む

ACM-ICPC World Finals 2016 K解法

K: String Theory

問題

文字列について、先頭と末尾が「'」(シングルクォート) で、間にアルファベットのみが0文字以上あるものを1-quotationと定義する。
k > 1について、先頭と末尾がちょうどk個のシングルクォートで、間には「(k-1)-quotationシングルクォートを含まない文字の二種類の、合わせて0個以上の任意の順番の連結」であるものと定義する。
文字列Sが与えられるが k-quotation のkを求めよ。
複数ある場合は最大、存在しない場合はそれを指摘し出力せよ。
Sは連続したシングルクォートのみ切り出して、その長さを持って与えられる。
例えば「3 2 5」が入力で与えられた時はSは '''(任意のアルファベット列)''(任意のアルファベット列)''''' を意味する。

続きを読む