結果
問題 | No.714 回転寿司屋のシミュレート |
ユーザー |
|
提出日時 | 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
ソースコード
class Orderattr_reader :namedef initialize(name)@name = nameenddef ==(other)self.name == other.nameendendclass Customerdef initialize(orders)@orders = ordersenddef has_order?(order)@orders.include?(order)enddef delete_order(order)@orders.delete_at(@orders.find_index(order))endenddef create_customer(sushi_neta_names)Customer.new(sushi_neta_names.map do |neta|Order.new(neta)end)endSEAT_MAX_NUM = 20seat_list = Array.new(SEAT_MAX_NUM)data_num = gets.to_idata_num.times dodata = gets.splitif data[0] == '0'# 席に座るseat_number = data[1].to_iseat_list[seat_number] = create_customer(data[3..-1])elsif data[0] == '1'# 寿司を投入ate_customer_number = -1order = 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 = ibreakendendputs ate_customer_numberelse# 退席するseat_number = data[1].to_iseat_list[seat_number] = nilendend