LoginSignup
0
0

More than 5 years have passed since last update.

オフラインリアルタイムどう書くF02 の問題をRubyで解く

Posted at

問題 : http://nabetani.sakura.ne.jp/hena/ordf02in2rec/
実装リンク集 : http://qiita.com/Nabetani/items/109c31c265be7fa1a36c

10x10しか対応していませんが、せっかく解いたのでアップします。

hoge.rb
def calc(src)
  a, b, c = src.split('/').map { |s| s.scan(/\d+/) }.map do |d|
    (d[0]..d[2]).to_a.product((d[1]..d[3]).to_a)
  end
  (a & b).size + (b & c).size + (c & a).size - (a & b & c).size * 3
end

DATA.each do |d|
  n, src, exp, _link = d.split
  act = calc src
  puts %(#{n} #{exp} != #{act}) unless act.to_s == exp
end

__END__
0   5,1-7,9/3,2-8,6/0,5-9,5 15  リンク
1   0,0-9,9/0,0-9,9/0,0-9,9 0   リンク
2   0,0-9,9/0,0-0,9/1,0-9,9 100 リンク
3   2,5-7,6/0,5-7,7/2,0-8,6 0   リンク
4   1,9-4,9/4,9-7,9/0,3-7,4 1   リンク
5   6,1-6,9/5,0-7,4/5,1-7,2 6   リンク
6   4,0-9,8/5,1-6,8/0,2-9,7 28  リンク
7   2,8-8,9/7,9-8,9/8,3-8,9 2   リンク
8   3,3-9,4/0,1-8,4/1,2-8,9 12  リンク
9   2,1-8,3/0,1-3,7/8,3-8,4 7   リンク
10  5,4-6,9/0,0-6,0/5,3-9,8 10  リンク
11  1,1-9,7/1,1-3,8/3,8-7,9 22  リンク
12  2,4-6,7/3,2-7,8/1,0-9,4 24  リンク
13  0,2-1,5/8,1-8,3/1,8-6,8 0   リンク
14  5,2-9,5/9,1-9,2/8,0-8,6 5   リンク
15  5,0-6,4/2,1-6,4/3,8-3,9 8   リンク
16  0,4-6,9/4,1-6,9/7,6-9,7 18  リンク
17  0,0-5,5/0,1-2,8/5,3-9,4 17  リンク
18  0,2-5,6/5,6-8,7/0,1-2,6 16  リンク
19  7,2-8,4/1,0-6,8/1,3-7,6 26  リンク
20  4,3-9,3/0,0-6,5/0,0-4,8 31  リンク
21  3,4-4,6/2,2-4,8/2,0-8,4 11  リンク
22  1,2-6,5/0,5-4,7/2,8-2,9 4   リンク
23  4,1-7,5/2,1-9,9/1,7-2,9 23  リンク
24  1,6-5,6/0,3-5,7/0,2-2,6 13  リンク
25  1,3-3,4/1,4-3,4/9,2-9,9 3   リンク
26  6,3-7,6/2,2-2,3/1,3-9,8 9   リンク
27  2,2-9,7/1,8-9,8/2,2-8,9 49  リンク
28  1,2-6,9/7,6-9,9/4,3-9,9 33  リンク
29  6,0-7,5/0,4-3,8/1,4-5,8 15  リンク
30  2,0-9,7/0,5-3,8/5,1-7,7 27  リンク
31  1,2-8,7/3,1-4,3/2,3-5,8 20  リンク
32  1,0-7,7/0,1-5,4/0,0-2,3 19  リンク
33  2,0-3,7/1,1-3,7/5,3-5,9 14  リンク
34  7,2-9,8/1,0-6,8/0,2-9,9 63  リンク
35  1,1-5,3/0,3-8,7/2,3-8,7 32  リンク
36  3,4-6,6/1,0-9,1/4,0-9,9 21  リンク
37  0,0-4,7/0,5-5,9/0,2-4,5 25  リンク
38  1,1-9,9/2,2-7,4/2,4-7,7 30  リンク
39  3,2-9,9/2,0-6,6/0,5-8,9 36  リンク
40  0,1-8,8/0,5-9,8/2,3-2,4 38  リンク
41  0,0-8,6/4,3-9,9/7,1-9,9 29  リンク
42  0,0-8,8/2,4-9,8/0,1-9,2 53  リンク
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0