ruby-changes:51689
From: k0kubun <ko1@a...>
Date: Mon, 9 Jul 2018 02:47:37 +0900 (JST)
Subject: [ruby-changes:51689] k0kubun:r63901 (trunk): benchmark/app_pentomino.yml: remove original scripts after __END__
k0kubun 2018-07-09 02:47:32 +0900 (Mon, 09 Jul 2018) New Revision: 63901 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=63901 Log: benchmark/app_pentomino.yml: remove original scripts after __END__ mistakenly left by conversion script... Modified files: trunk/benchmark/app_pentomino.yml Index: benchmark/app_pentomino.yml =================================================================== --- benchmark/app_pentomino.yml (revision 63900) +++ benchmark/app_pentomino.yml (revision 63901) @@ -1,10 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/app_pentomino.yml#L1 prelude: | - #!/usr/local/bin/ruby - # This program is contributed by Shin Nishiyama benchmark: app_pentomino: | - - + # This program is contributed by Shin Nishiyama # modified by K.Sasada NP = 5 @@ -124,134 +121,6 @@ benchmark: https://github.com/ruby/ruby/blob/trunk/benchmark/app_pentomino.yml#L121 end end end - end - - mkpieces - mkboard - $p[4] = [$p[4][0]] - $pnum = (0...$p.length).to_a - setpiece([],0) - - - - # original - - NP = 5 - ROW = 8 + NP - COL = 8 - - $p = [] - $b = [] - $no = 0 - - def piece(n,a,nb) - for x in nb - a[n] = x - if n == NP-1 - $p << [a.sort] - else - nbc=nb.dup - for d in [-ROW, -1, 1, ROW] - if x+d > 0 and not a.include?(x+d) and not nbc.include?(x+d) - nbc << x+d - end - end - nbc.delete x - piece(n+1,a[0..n],nbc) - end - end - end - - def kikaku(a) - a.collect {|x| x - a[0]} - end - def ud(a) - kikaku(a.collect {|x| ((x+NP)%ROW)-ROW*((x+NP)/ROW) }.sort) - end - def rl(a) - kikaku(a.collect {|x| ROW*((x+NP)/ROW)+ROW-((x+NP)%ROW)}.sort) - end - def xy(a) - kikaku(a.collect {|x| ROW*((x+NP)%ROW) + (x+NP)/ROW }.sort) - end - - def mkpieces - piece(0,[],[0]) - $p.each do |a| - a0 = a[0] - a[1] = ud(a0) - a[2] = rl(a0) - a[3] = ud(rl(a0)) - a[4] = xy(a0) - a[5] = ud(xy(a0)) - a[6] = rl(xy(a0)) - a[7] = ud(rl(xy(a0))) - a.sort! - a.uniq! - end - $p.uniq!.sort! {|x,y| x[0] <=> y[0] } - end - - def mkboard - for i in 0...ROW*COL - if i % ROW >= ROW-NP - $b[i] = -2 - else - $b[i] = -1 - end - $b[3*ROW+3]=$b[3*ROW+4]=$b[4*ROW+3]=$b[4*ROW+4]=-2 - end - end - - def pboard - print "No. #$no\n" - for i in 0...COL - print "|" - for j in 0...ROW-NP - x = $b[i*ROW+j] - if x < 0 - print "..|" - else - printf "%2d|",x+1 - end - end - print "\n" - end - print "\n" - end - - $pnum=[] - def setpiece(a,pos) - if a.length == $p.length then - $no += 1 - pboard - return - end - while $b[pos] != -1 - pos += 1 - end - ($pnum - a).each do |i| - $p[i].each do |x| - f = 0 - for s in x do - if $b[pos+s] != -1 - f=1 - break - end - end - if f == 0 then - for s in x do - $b[pos+s] = i - end - a << i - setpiece(a.dup, pos) - a.pop - for s in x do - $b[pos+s] = -1 - end - end - end - end end mkpieces -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/