結果

問題 No.447 ゆきこーだーの雨と雪 (2)
ユーザー zazaboonzazaboon
提出日時 2017-03-01 16:10:41
言語 Ruby
(3.3.0)
結果
AC  
実行時間 153 ms / 2,000 ms
コード長 1,449 bytes
コンパイル時間 227 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 16,896 KB
最終ジャッジ日時 2024-06-12 19:42:01
合計ジャッジ時間 4,929 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 88 ms
13,184 KB
testcase_01 AC 87 ms
13,056 KB
testcase_02 AC 85 ms
13,056 KB
testcase_03 AC 95 ms
14,080 KB
testcase_04 AC 93 ms
13,952 KB
testcase_05 AC 112 ms
14,976 KB
testcase_06 AC 131 ms
16,256 KB
testcase_07 AC 109 ms
14,592 KB
testcase_08 AC 109 ms
14,592 KB
testcase_09 AC 126 ms
16,128 KB
testcase_10 AC 96 ms
13,568 KB
testcase_11 AC 100 ms
14,464 KB
testcase_12 AC 100 ms
14,336 KB
testcase_13 AC 120 ms
15,104 KB
testcase_14 AC 129 ms
16,640 KB
testcase_15 AC 102 ms
14,208 KB
testcase_16 AC 94 ms
13,952 KB
testcase_17 AC 101 ms
14,080 KB
testcase_18 AC 95 ms
13,184 KB
testcase_19 AC 153 ms
16,896 KB
testcase_20 AC 138 ms
16,256 KB
testcase_21 AC 106 ms
14,336 KB
testcase_22 AC 101 ms
14,208 KB
testcase_23 AC 110 ms
14,464 KB
testcase_24 AC 134 ms
16,256 KB
testcase_25 AC 148 ms
16,640 KB
testcase_26 AC 121 ms
14,976 KB
testcase_27 AC 117 ms
14,592 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:2: warning: assigned but unused variable - a
Main.rb:3: warning: assigned but unused variable - a
Main.rb:11: warning: assigned but unused variable - a
Main.rb:59: warning: mismatched indentations at 'end' with 'if' at 53
Main.rb:46: warning: assigned but unused variable - i
Syntax OK

ソースコード

diff #

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)
      dr[n+1] = 0if(dr[n+1] == nil)
      dr.map!{|u| (u==nil)? 0:u}
      puts "#{j} #{dr[0]} #{dr[2..n+1].join(" ")} #{dr[1]}"
      h[dr[0]] = nil
      j+=1
      end
    end
  end
end
0