結果

問題 No.714 回転寿司屋のシミュレート
ユーザー TomoProg
提出日時 2018-10-11 00:08:47
言語 Ruby
(3.4.1)
結果
AC  
実行時間 111 ms / 2,000 ms
コード長 1,162 bytes
コンパイル時間 356 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-10-12 17:24:52
合計ジャッジ時間 4,389 ms
ジャッジサーバーID
(参考情報)
judge / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 35
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
プレゼンテーションモードにする

class Order
attr_reader :name
def initialize(name)
@name = name
end
def ==(other)
self.name == other.name
end
end
class Customer
def initialize(orders)
@orders = orders
end
def has_order?(order)
@orders.include?(order)
end
def delete_order(order)
@orders.delete_at(@orders.find_index(order))
end
end
def create_customer(sushi_neta_names)
Customer.new(
sushi_neta_names.map do |neta|
Order.new(neta)
end
)
end
SEAT_MAX_NUM = 20
seat_list = Array.new(SEAT_MAX_NUM)
data_num = gets.to_i
data_num.times do
data = gets.split
if data[0] == '0'
#
seat_number = data[1].to_i
seat_list[seat_number] = create_customer(data[3..-1])
elsif data[0] == '1'
# 寿
ate_customer_number = -1
order = Order.new(data[1])
seat_list.each_with_index do |customer, i|
next if customer.nil?
if customer.has_order?(order)
customer.delete_order(order)
ate_customer_number = i
break
end
end
puts ate_customer_number
else
# 退
seat_number = data[1].to_i
seat_list[seat_number] = nil
end
end
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0