投稿

8月, 2012の投稿を表示しています

K2PC(Easy)A/B,天下一予選B A問題 解いてみた

ただのプログラミング日記ですね.日常生活に関しては Twitter を御覧くださいということで一つ.普通の日記書きたいんですけどね. K2PC(Easy) A 問題 ing = gets.chomp.split.map(&:to_i) hamb = gets.to_i puts ing.each_with_index.collect{|e, i| hamb*(i+1) - e > 0 ? hamb*(i+1) - e : 0 }.join(" ") 1 行目:ご飯の材料って ingredient って言うんですね.勉強になった 4-5 行目:ハンバーガー 1 個あたりそれぞれの材料が 1,2,3 個ずつ必要,しかも数字が順番に来てくれるので,それぞれの個数を配列に格納して each_with_index で取り出した添字に1を足して必要数を掛けて,そこから今ある個数を引きました.それが 0 より大きければ足りない数に変更,そうでなければ 0 に変更.3 項演算子楽しい 6 行目:↑を空白スペース区切りで出力 B 問題 lines = gets.to_i tateren_taisei = gets.chomp.split.map(&:to_i).sort.reverse music = [] possible = [] lines.times{music << gets.chomp.split("")} xlong = music.transpose.map{|e| e.join.split(/[-]+/).delete_if{|ee| ee == ""}}.delete_if{|e| e.empty?}.collect{|e| e.max.length}.sort.reverse if xlong.size < 7 xlong.fill(0, xlong.size .. 6) end 7.times do |i| if tateren_taisei[i] >= xlong[i] possible << true else possible << false end end p

天下一プログラマーコンテスト予選A 参加してみた

だいぶ前になりますが.例によって最初の2問です.