| alanxujian |
2008-12-30 09:08 |
我的解法,时间还行吧。
不知道为什么,运行时会有“warning: default `to_a' will be obsolete”这个提示W=[9,8,7,6,5,4,3,2,1,0]
W.each do |w|
(W-w.to_a).each do |d|
(W-w.to_a-d.to_a).each do |g|
next if w- g != d and w - 1 - g != d
(W-w.to_a-d.to_a-g.to_a).each do |o|
next if w - o != o and w- 1 - o != o and w+10-o != o and w+10-1-o != o
(W-w.to_a-d.to_a-g.to_a-o.to_a).each do |t|
next if w - o != t and w- 1 - o != t and w+10-o != t and w+10-1-o != t
(W-w.to_a-d.to_a-g.to_a-o.to_a-t.to_a).each do |l|
next if o - l != o and o- 1 - l != o and o+10-l != o and o+10-1-l != o
(W-w.to_a-d.to_a-g.to_a-o.to_a-t.to_a-l.to_a).each do |e|
(W-w.to_a-d.to_a-g.to_a-o.to_a-t.to_a-l.to_a-e.to_a).each do |c|
next if d - g != c and d- 1 - g != c and d+10- g != c and d+10-1- g != c
(W-w.to_a-d.to_a-g.to_a-o.to_a-t.to_a-l.to_a-e.to_a-c.to_a).each do |m|
next if t - e !=m and t +10 - e != m
if w*100000+w*10000+w*1000+d*100+o*10+t-(g*100000+o*10000+o*1000+g*100+l*10+e)==d*100000+o*10000+t*1000+c*100+o*10+m
puts \"Found\"
puts \"#{w*100000+w*10000+w*1000+d*100+o*10+t}-#{g*100000+o*10000+o*1000+g*100+l*10+e}\"
#sleep 10
end
end
end
end
end
end
end
end
end
end |
|