0
0

More than 5 years have passed since last update.

第14回 オフラインリアルタイムどう書く参考問題解答(Ruby)

Posted at

問題:http://nabetani.sakura.ne.jp/hena/ord14crosscircle/
解答例:http://qiita.com/Nabetani/items/66806c9dc14a96f2fd42

def count f, b
  cnt = 0
  f.chars do |ff|
    b.chars do |bb|
      cnt+=1 if ff==bb
    end
  end
  cnt
end

def calc src
  dst = 0
  src.size.times do |i|
    (i+1..src.size).each do |j|
      dst += count src[i+1, j-i-1] , src[j+1,   src.size-j-1] + src[0, i] if src[i]==src[j]
    end
  end
  dst/2
end


DATA.each do |data|
  n, s, r = data.split
  d = calc s
  puts "ng:#{n}  #{d} != #{r}" unless d==r.to_i
end

__END__
0       aabbca1bcb      14
1       111ZZZ          0
2       v               0
3       ww              0
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