别说了,上班题,我比赛用c++ 写了一个半小时,晚上继续用c++写了两个小时,突然跟天海吹牛说,要是我会c++的正则表达式,这道题,妙了!
然后就说可以用脚本语言,我也只能勉为其难的用ruby写了。
推荐一个ruby在线正则表达式检测 网站
语法有些忘了……写的慢了点
题意:
模拟 try catch
思路:
无。
AC Code
#!/usr/bin/env ruby
# encoding: utf-8
n=gets.to_i
thlist = []
thid = []
trylist = []
flag=0
n.times do |id|
str=gets.strip!
next if flag == 1
if /^try$/ =~ str
trylist << id
elsif /throw/ =~ str
/(?<=\()\s*\w+\s*(?=\))/ =~ str
thlist << $&.strip
thid << id
elsif /catch/ =~ str
/(?<=\()\s*\w+\s*(?=,)/ =~ str
if (pos=thlist.index($&.strip))!=nil && thid[pos] > trylist.last
/(?<=\").+(?=\")/ =~ str
puts $&
flag=1
end
trylist.pop
end
end
puts "Unhandled Exception" if flag == 0