class AtCoderFriends::Problem::InputFormat
holds information about input format
Constants
- ITEM_RANK
Attributes
cols[RW]
container[R]
delim[R]
names[R]
size[R]
Public Class Methods
new( container: nil, item: nil, names: [], size: [], delim: '', cols: [] )
click to toggle source
# File lib/at_coder_friends/problem.rb, line 28 def initialize( container: nil, item: nil, names: [], size: [], delim: '', cols: [] ) @container = container @item = item @names = names @size = size @delim = delim @cols = cols end
Public Instance Methods
components()
click to toggle source
# File lib/at_coder_friends/problem.rb, line 61 def components @components ||= case container when :varray_matrix varray_matrix_components when :matrix_varray matrix_varray_components end end
item()
click to toggle source
# File lib/at_coder_friends/problem.rb, line 52 def item @item || cols.max_by { |k| ITEM_RANK[k] } || :number end
matrix_varray_components()
click to toggle source
# File lib/at_coder_friends/problem.rb, line 86 def matrix_varray_components [ self.class.new( container: :matrix, item: @item, names: names[0..0], size: size, delim: delim, cols: cols[0..0] ), self.class.new( container: :varray, names: names[1..-1], size: size[0..0], delim: delim, cols: cols[1..-1] || [] ) ] end
to_s()
click to toggle source
# File lib/at_coder_friends/problem.rb, line 44 def to_s if container == :unknown "#{container} #{item}" else "#{container} #{item}(#{cols}) #{names} #{size} #{delim}" end end
varray_matrix_components()
click to toggle source
# File lib/at_coder_friends/problem.rb, line 71 def varray_matrix_components [ self.class.new( container: :varray, names: names[0..-2], size: size[0..0], delim: delim, cols: cols[0..-2] ), self.class.new( container: :matrix, item: @item, names: names[-1..-1], size: size, delim: delim, cols: cols[-1..-1] || [] ) ] end
vars()
click to toggle source
# File lib/at_coder_friends/problem.rb, line 56 def vars tmp = @item && [@item] || cols names.zip(tmp).map { |(name, col)| [name, col || :number] } end