結果

問題 No.447 ゆきこーだーの雨と雪 (2)
ユーザー zazaboonzazaboon
提出日時 2017-03-01 16:10:41
言語 Ruby
(3.3.0)
結果
AC  
実行時間 173 ms / 2,000 ms
コード長 1,449 bytes
コンパイル時間 214 ms
コンパイル使用メモリ 11,300 KB
実行使用メモリ 20,220 KB
最終ジャッジ日時 2023-09-03 13:54:11
合計ジャッジ時間 5,974 ms
ジャッジサーバーID
(参考情報)
judge14 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 96 ms
16,324 KB
testcase_01 AC 95 ms
16,520 KB
testcase_02 AC 94 ms
16,384 KB
testcase_03 AC 112 ms
17,460 KB
testcase_04 AC 110 ms
17,324 KB
testcase_05 AC 126 ms
18,508 KB
testcase_06 AC 151 ms
19,604 KB
testcase_07 AC 129 ms
17,564 KB
testcase_08 AC 129 ms
17,836 KB
testcase_09 AC 147 ms
20,000 KB
testcase_10 AC 106 ms
17,020 KB
testcase_11 AC 113 ms
17,352 KB
testcase_12 AC 117 ms
17,408 KB
testcase_13 AC 145 ms
19,048 KB
testcase_14 AC 151 ms
19,892 KB
testcase_15 AC 120 ms
17,556 KB
testcase_16 AC 113 ms
17,412 KB
testcase_17 AC 114 ms
17,332 KB
testcase_18 AC 103 ms
16,904 KB
testcase_19 AC 173 ms
20,220 KB
testcase_20 AC 157 ms
19,908 KB
testcase_21 AC 117 ms
17,612 KB
testcase_22 AC 117 ms
17,444 KB
testcase_23 AC 128 ms
17,472 KB
testcase_24 AC 151 ms
19,408 KB
testcase_25 AC 166 ms
20,072 KB
testcase_26 AC 131 ms
18,100 KB
testcase_27 AC 127 ms
17,664 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