結果

問題 No.447 ゆきこーだーの雨と雪 (2)
ユーザー zazaboonzazaboon
提出日時 2017-03-01 16:08:26
言語 Ruby
(3.3.0)
結果
WA  
実行時間 -
コード長 1,396 bytes
コンパイル時間 275 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 16,128 KB
最終ジャッジ日時 2024-06-12 19:37:02
合計ジャッジ時間 5,782 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 WA -
testcase_22 WA -
testcase_23 WA -
testcase_24 WA -
testcase_25 WA -
testcase_26 WA -
testcase_27 WA -
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:3: warning: assigned but unused variable - a
Main.rb:4: warning: assigned but unused variable - a
Main.rb:12: warning: assigned but unused variable - a
Main.rb:58: warning: mismatched indentations at 'end' with 'if' at 54
Main.rb:47: warning: assigned but unused variable - i
Syntax OK

ソースコード

diff #

require 'prime'
def calcs(x,y,ax,ay,bx,by) ((ax-x)*(by-y)-(bx-x)*(ay-y))/2.0 end
def inpf() a=gets.chomp.split(" ").map(&:to_f)end
def inps() a=gets.chomp.split(" ")end  
def copy(a) Marshal.load(Marshal.dump(a)) end
def kaizyo(n)(n < 2)? 1 : (2..n).inject(:*) end
def scount(a) b=na(a.max+1);a.each{|n|b[n]+=1};return b end
def na(n,d=0) Array.new(n,d)end
def na2(n,m,d=0) Array.new(n){Array.new(m,d)}end
def na3(n,m,l,d=0) Array.new(n){Array.new(m){Array.new(l,d)}}end
def bit(n) n.to_s(2).split("").map(&:to_i) end
def inp() a=gets.chomp.split(" ").map(&:to_i)end
n = inp[0]
lev = inp
m=inp[0]
h = {}
tab = na(n+1,nil)
x = 0
tada = []
dp = na2(24001,0)
m.times do
  tada.push(inps)
end
m.times do |i|
  data = tada[i]
  if(h[data[0]] == nil)
    h[data[0]] = x
    x += 1
    tab[x-1] = [data[0]]
    tab[x-1][1] = 0
  end
  ind = h[data[0]]
  if(h[data[1]] == nil)
    h[data[1]] = 1
  else
    h[data[1]] += 1
  end
  lind = data[1].ord - "A".ord
  pll = lev[lind]
  pl = (50*pll+(50*pll)/(0.8+(0.2*h[data[1]]))).to_i
  tab[ind][1] += pl
  tab[ind][lind+2] = pl
  dp[tab[ind][1]].push(tab[ind])
  tab[ind][1]
  dp[tab[ind][1]]
end
i=0
j =1 
(0..24000).reverse_each do|a|
  if(dp[a] != nil)
    dp[a].size.times do
    #p dp[a]
    dr = dp[a].shift
    if(h[dr[0]] != nil)
      puts "#{j} #{dr[0]} #{dr[2..n+1].join(" ")} #{dr[1]}"
      h[dr[0]] = nil
      j+=1
      end
    end
  end
end
0