fork download
  1. #!/usr/bin/ruby
  2. #coding:utf-8
  3.  
  4. require 'zlib'
  5. require 'base64'
  6. require 'stringio'
  7. Encoding.default_external=Encoding::UTF_8
  8.  
  9. #多項式加減乗算
  10. #mul([2,1,1],[1,4,3]) => [2, 9, 11, 7, 3]
  11. #(2+x+x^2)*(1+4x+3x^2) is 2+9x+11x^2+7x^3+3x^4
  12. def add(a,b) [a.size,b.size].max.times.map{|i|(a[i]||0)+(b[i]||0)} end
  13. def sub(a,b) add(a,b.map{|e|-e}) end
  14. def mul(a,b) b.size.times.reduce([]){|s,i|add(s,[0]*i+a.map{|e|b[i]*e})} end
  15.  
  16. #構文解析(stage2)
  17. #POJ 2252(Java)をポート
  18. AddSub = Regexp.compile(/^(.*?)([0-9,-]+)([+Z])([0-9,-]+)(.*)$/)
  19. MulDiv = Regexp.compile(/^(.*?)([0-9,-]+)([*])([0-9,-]+)(.*)$/)
  20.  
  21. def process(s)
  22. =begin
  23. #analyze parens
  24. bidx=s.index("(")
  25. while bidx
  26. count=1
  27. eidx=bidx+1
  28. while count!=0
  29. count+=1 if s[eidx,1]=='('
  30. count-=1 if s[eidx,1]==')'
  31. eidx+=1
  32. end
  33. s=s[0,bidx]+process(s[bidx+1...eidx-1])+s[eidx..-1]
  34. bidx=s.index("(")
  35. end
  36. =end
  37.  
  38. while m=MulDiv.match(s)
  39. if m[3]=='*'
  40. s=m[1]+mul(m[2].split(',').map(&:to_i),m[4].split(',').map(&:to_i))*','+m[5]
  41. end
  42. end
  43.  
  44. while m=AddSub.match(s)
  45. if m[3]=='+'
  46. s=m[1]+add(m[2].split(',').map(&:to_i),m[4].split(',').map(&:to_i))*','+m[5]
  47. else
  48. s=m[1]+sub(m[2].split(',').map(&:to_i),m[4].split(',').map(&:to_i))*','+m[5]
  49. end
  50. end
  51. s
  52. end
  53.  
  54. #構文解析(stage1)
  55. def tokenize(expr,regexp)
  56. result=''
  57. previdx=0
  58. idx=0
  59. while expr[idx,1]
  60. if ['+','-','='].include?(expr[idx,1])
  61. raise if !m=regexp.match(expr[previdx...idx])
  62. result<<(yield m)
  63. result<< expr[idx,1]
  64. previdx=idx+1
  65. end
  66. idx+=1
  67. end
  68. raise if !m=regexp.match(expr[previdx..-1])
  69. result<<(yield m)
  70. result.gsub('-','Z')
  71. end
  72. def calc_helper(a,units)
  73. if x=a.each_with_index.find{|e,i|e=='□'}
  74. '0,'+units[x[1]].to_s
  75. else
  76. a.each_with_index.reduce(0){|s,(e,i)|s+(e||'0').to_i*units[i]}.to_s
  77. end
  78. end
  79. def calc(expr)
  80. # expr => "3m20cm-3m10cm-□mm=5mm"
  81. if expr=~/g/ #重さ
  82. result=tokenize(expr,/^(([0-9]+)kg)?(([0-9]+)g)?(([0-9]+)mg)?$/){|match|
  83. calc_helper([match[2],match[4],match[6]],[1000000,1000,1])
  84. }
  85. elsif expr=~/m/ #長さ
  86. result=tokenize(expr,/^(([0-9]+)km)?(([0-9]+)m)?(([0-9]+)cm)?(([0-9]+)mm)?$/){|match|
  87. calc_helper([match[2],match[4],match[6],match[8]],[1000000,1000,10,1])
  88. }
  89. else #時間
  90. result=tokenize(expr,/^(([0-9]+))?(([0-9]+)時間)?(([0-9]+))?(([0-9]+))?$/){|match|
  91. calc_helper([match[2],match[4],match[6],match[8]],[86400,3600,60,1])
  92. }
  93. end
  94. # result => "3200Z3100Z0,1=5"
  95. a,b=result.split('=')
  96. r,s=process(process(a)+'Z'+process(b)).split(',').map(&:to_i)
  97. # => [95,-1]
  98. raise if r%s>0
  99. -r/s
  100. end
  101.  
  102. f=StringIO.new(Zlib.inflate(Base64.decode64($<.read)).force_encoding(Encoding.default_external))
  103. while f.gets
  104. id,expr1,expr2=$_.split
  105. #break if id[0,1]!='T'
  106. puts id if calc(expr1)!=calc(expr2)
  107. end
  108.  
  109. __END__
  110. 【解答】
  111. 111,112,222,223,333,334,444,445,555,556,666,667,777,778,888,889,999
  112. 【感想・工夫した点など】
  113. 一番低い単位に合わせた後、正規表現による多項式演算で0次の項と1次の項を求め、割ることで未知数を求めた。
  114.  
  115. calc()の中は手抜きだったので直しました。
  116. mul()はわかりにくいコードになってしまっていますが、reduceが使えることがわかったのでそうしました。
  117. 【言語と処理系】
  118. Ruby 2.0 (マルチバイト文字列を含むのでRuby 1.9以降専用)
  119. 【ソースコード】
Success #stdin #stdout 0.54s 7884KB
stdin
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
VfxcLA==
stdout
111
112
222
223
333
334
444
445
555
556
666
667
777
778
888
889
999